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

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts

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