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