hepf 0d06e8a5d8 init 2 veckor sedan
..
LICENSE 0d06e8a5d8 init 2 veckor sedan
README.md 0d06e8a5d8 init 2 veckor sedan
all.js 0d06e8a5d8 init 2 veckor sedan
allLimit.js 0d06e8a5d8 init 2 veckor sedan
allSeries.js 0d06e8a5d8 init 2 veckor sedan
angelFall.js 0d06e8a5d8 init 2 veckor sedan
any.js 0d06e8a5d8 init 2 veckor sedan
anyLimit.js 0d06e8a5d8 init 2 veckor sedan
anySeries.js 0d06e8a5d8 init 2 veckor sedan
apply.js 0d06e8a5d8 init 2 veckor sedan
applyEach.js 0d06e8a5d8 init 2 veckor sedan
applyEachSeries.js 0d06e8a5d8 init 2 veckor sedan
async.js 0d06e8a5d8 init 2 veckor sedan
async.min.js 0d06e8a5d8 init 2 veckor sedan
asyncify.js 0d06e8a5d8 init 2 veckor sedan
auto.js 0d06e8a5d8 init 2 veckor sedan
autoInject.js 0d06e8a5d8 init 2 veckor sedan
cargo.js 0d06e8a5d8 init 2 veckor sedan
compose.js 0d06e8a5d8 init 2 veckor sedan
concat.js 0d06e8a5d8 init 2 veckor sedan
concatLimit.js 0d06e8a5d8 init 2 veckor sedan
concatSeries.js 0d06e8a5d8 init 2 veckor sedan
constant.js 0d06e8a5d8 init 2 veckor sedan
createLogger.js 0d06e8a5d8 init 2 veckor sedan
detect.js 0d06e8a5d8 init 2 veckor sedan
detectLimit.js 0d06e8a5d8 init 2 veckor sedan
detectSeries.js 0d06e8a5d8 init 2 veckor sedan
dir.js 0d06e8a5d8 init 2 veckor sedan
doDuring.js 0d06e8a5d8 init 2 veckor sedan
doUntil.js 0d06e8a5d8 init 2 veckor sedan
doWhilst.js 0d06e8a5d8 init 2 veckor sedan
during.js 0d06e8a5d8 init 2 veckor sedan
each.js 0d06e8a5d8 init 2 veckor sedan
eachLimit.js 0d06e8a5d8 init 2 veckor sedan
eachOf.js 0d06e8a5d8 init 2 veckor sedan
eachOfLimit.js 0d06e8a5d8 init 2 veckor sedan
eachOfSeries.js 0d06e8a5d8 init 2 veckor sedan
eachSeries.js 0d06e8a5d8 init 2 veckor sedan
ensureAsync.js 0d06e8a5d8 init 2 veckor sedan
every.js 0d06e8a5d8 init 2 veckor sedan
everyLimit.js 0d06e8a5d8 init 2 veckor sedan
everySeries.js 0d06e8a5d8 init 2 veckor sedan
fast.js 0d06e8a5d8 init 2 veckor sedan
filter.js 0d06e8a5d8 init 2 veckor sedan
filterLimit.js 0d06e8a5d8 init 2 veckor sedan
filterSeries.js 0d06e8a5d8 init 2 veckor sedan
find.js 0d06e8a5d8 init 2 veckor sedan
findLimit.js 0d06e8a5d8 init 2 veckor sedan
findSeries.js 0d06e8a5d8 init 2 veckor sedan
foldl.js 0d06e8a5d8 init 2 veckor sedan
foldr.js 0d06e8a5d8 init 2 veckor sedan
forEach.js 0d06e8a5d8 init 2 veckor sedan
forEachLimit.js 0d06e8a5d8 init 2 veckor sedan
forEachOf.js 0d06e8a5d8 init 2 veckor sedan
forEachOfLimit.js 0d06e8a5d8 init 2 veckor sedan
forEachOfSeries.js 0d06e8a5d8 init 2 veckor sedan
forEachSeries.js 0d06e8a5d8 init 2 veckor sedan
forever.js 0d06e8a5d8 init 2 veckor sedan
groupBy.js 0d06e8a5d8 init 2 veckor sedan
groupByLimit.js 0d06e8a5d8 init 2 veckor sedan
groupBySeries.js 0d06e8a5d8 init 2 veckor sedan
inject.js 0d06e8a5d8 init 2 veckor sedan
iterator.js 0d06e8a5d8 init 2 veckor sedan
log.js 0d06e8a5d8 init 2 veckor sedan
map.js 0d06e8a5d8 init 2 veckor sedan
mapLimit.js 0d06e8a5d8 init 2 veckor sedan
mapSeries.js 0d06e8a5d8 init 2 veckor sedan
mapValues.js 0d06e8a5d8 init 2 veckor sedan
mapValuesLimit.js 0d06e8a5d8 init 2 veckor sedan
mapValuesSeries.js 0d06e8a5d8 init 2 veckor sedan
memoize.js 0d06e8a5d8 init 2 veckor sedan
nextTick.js 0d06e8a5d8 init 2 veckor sedan
omit.js 0d06e8a5d8 init 2 veckor sedan
omitLimit.js 0d06e8a5d8 init 2 veckor sedan
omitSeries.js 0d06e8a5d8 init 2 veckor sedan
package.json 0d06e8a5d8 init 2 veckor sedan
parallel.js 0d06e8a5d8 init 2 veckor sedan
parallelLimit.js 0d06e8a5d8 init 2 veckor sedan
pick.js 0d06e8a5d8 init 2 veckor sedan
pickLimit.js 0d06e8a5d8 init 2 veckor sedan
pickSeries.js 0d06e8a5d8 init 2 veckor sedan
priorityQueue.js 0d06e8a5d8 init 2 veckor sedan
queue.js 0d06e8a5d8 init 2 veckor sedan
race.js 0d06e8a5d8 init 2 veckor sedan
reduce.js 0d06e8a5d8 init 2 veckor sedan
reduceRight.js 0d06e8a5d8 init 2 veckor sedan
reflect.js 0d06e8a5d8 init 2 veckor sedan
reflectAll.js 0d06e8a5d8 init 2 veckor sedan
reject.js 0d06e8a5d8 init 2 veckor sedan
rejectLimit.js 0d06e8a5d8 init 2 veckor sedan
rejectSeries.js 0d06e8a5d8 init 2 veckor sedan
retry.js 0d06e8a5d8 init 2 veckor sedan
retryable.js 0d06e8a5d8 init 2 veckor sedan
safe.js 0d06e8a5d8 init 2 veckor sedan
select.js 0d06e8a5d8 init 2 veckor sedan
selectLimit.js 0d06e8a5d8 init 2 veckor sedan
selectSeries.js 0d06e8a5d8 init 2 veckor sedan
seq.js 0d06e8a5d8 init 2 veckor sedan
series.js 0d06e8a5d8 init 2 veckor sedan
setImmediate.js 0d06e8a5d8 init 2 veckor sedan
some.js 0d06e8a5d8 init 2 veckor sedan
someLimit.js 0d06e8a5d8 init 2 veckor sedan
someSeries.js 0d06e8a5d8 init 2 veckor sedan
sortBy.js 0d06e8a5d8 init 2 veckor sedan
sortByLimit.js 0d06e8a5d8 init 2 veckor sedan
sortBySeries.js 0d06e8a5d8 init 2 veckor sedan
timeout.js 0d06e8a5d8 init 2 veckor sedan
times.js 0d06e8a5d8 init 2 veckor sedan
timesLimit.js 0d06e8a5d8 init 2 veckor sedan
timesSeries.js 0d06e8a5d8 init 2 veckor sedan
transform.js 0d06e8a5d8 init 2 veckor sedan
transformLimit.js 0d06e8a5d8 init 2 veckor sedan
transformSeries.js 0d06e8a5d8 init 2 veckor sedan
tryEach.js 0d06e8a5d8 init 2 veckor sedan
unmemoize.js 0d06e8a5d8 init 2 veckor sedan
until.js 0d06e8a5d8 init 2 veckor sedan
waterfall.js 0d06e8a5d8 init 2 veckor sedan
whilst.js 0d06e8a5d8 init 2 veckor sedan
wrapSync.js 0d06e8a5d8 init 2 veckor sedan

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts FOSSA

Neo-Async is thought to be used as a drop-in replacement for Async, it almost fully covers its functionality and runs faster.

Benchmark is here!

Bluebird's benchmark is here!

Code Coverage

coverage

Installation

In a browser

<script src="async.min.js"></script>

In an AMD loader

require(['async'], function(async) {});

Promise and async/await

I recommend to use Aigle.

It is optimized for Promise handling and has almost the same functionality as neo-async.

Node.js

standard

$ npm install neo-async
var async = require('neo-async');

replacement

$ npm install neo-async
$ ln -s ./node_modules/neo-async ./node_modules/async
var async = require('async');

Bower

bower install neo-async

Feature

JSDoc

* not in Async

Collections

Control Flow

Utils

Mode

Benchmark

Benchmark: Async vs Neo-Async

How to check

$ node perf

Environment

  • Darwin 17.3.0 x64
  • Node.js v8.9.4
  • async v2.6.0
  • neo-async v2.5.0
  • benchmark v2.1.4

Result

The value is the ratio (Neo-Async/Async) of the average speed.

Collections

function benchmark
each/forEach 2.43
eachSeries/forEachSeries 1.75
eachLimit/forEachLimit 1.68
eachOf 3.29
eachOfSeries 1.50
eachOfLimit 1.59
map 3.95
mapSeries 1.81
mapLimit 1.27
mapValues 2.73
mapValuesSeries 1.59
mapValuesLimit 1.23
filter 3.00
filterSeries 1.74
filterLimit 1.17
reject 4.59
rejectSeries 2.31
rejectLimit 1.58
detect 4.30
detectSeries 1.86
detectLimit 1.32
reduce 1.82
transform 2.46
sortBy 4.08
some 2.19
someSeries 1.83
someLimit 1.32
every 2.09
everySeries 1.84
everyLimit 1.35
concat 3.79
concatSeries 4.45

Control Flow

funciton benchmark
parallel 2.93
series 1.96
waterfall 1.29
whilst 1.00
doWhilst 1.12
until 1.12
doUntil 1.12
during 1.18
doDuring 2.42
times 4.25
auto 1.97

License

FOSSA Status