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