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

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