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

functionbenchmark
each/forEach2.43
eachSeries/forEachSeries1.75
eachLimit/forEachLimit1.68
eachOf3.29
eachOfSeries1.50
eachOfLimit1.59
map3.95
mapSeries1.81
mapLimit1.27
mapValues2.73
mapValuesSeries1.59
mapValuesLimit1.23
filter3.00
filterSeries1.74
filterLimit1.17
reject4.59
rejectSeries2.31
rejectLimit1.58
detect4.30
detectSeries1.86
detectLimit1.32
reduce1.82
transform2.46
sortBy4.08
some2.19
someSeries1.83
someLimit1.32
every2.09
everySeries1.84
everyLimit1.35
concat3.79
concatSeries4.45

Control Flow

funcitonbenchmark
parallel2.93
series1.96
waterfall1.29
whilst1.00
doWhilst1.12
until1.12
doUntil1.12
during1.18
doDuring2.42
times4.25
auto1.97