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!

<script src="async.min.js"></script>
require(['async'], function(async) {});
I recommend to use Aigle.
It is optimized for Promise handling and has almost the same functionality as neo-async.
$ npm install neo-async
var async = require('neo-async');
$ npm install neo-async $ ln -s ./node_modules/neo-async ./node_modules/async
var async = require('async');
bower install neo-async
* not in Async
eacheachSerieseachLimitforEach -> eachforEachSeries -> eachSeriesforEachLimit -> eachLimiteachOf -> eacheachOfSeries -> eachSerieseachOfLimit -> eachLimitforEachOf -> eachforEachOfSeries -> eachSerieseachOfLimit -> forEachLimitmapmapSeriesmapLimitmapValuesmapValuesSeriesmapValuesLimitfilterfilterSeriesfilterLimitselect -> filterselectSeries -> filterSeriesselectLimit -> filterLimitrejectrejectSeriesrejectLimitdetectdetectSeriesdetectLimitfind -> detectfindSeries -> detectSeriesfindLimit -> detectLimitpick *pickSeries *pickLimit *omit *omitSeries *omitLimit *reduceinject -> reducefoldl -> reducereduceRightfoldr -> reduceRighttransformtransformSeries *transformLimit *sortBysortBySeries *sortByLimit *somesomeSeriessomeLimitany -> someanySeries -> someSeriesanyLimit -> someLimiteveryeverySerieseveryLimitall -> everyallSeries -> everyallLimit -> everyconcatconcatSeriesconcatLimit *parallelseriesparallelLimittryEachwaterfallangelFall *angelfall -> angelFall *whilstdoWhilstuntildoUntilduringdoDuringforevercomposeseqapplyEachapplyEachSeriesqueuepriorityQueuecargoautoautoInjectretryretryableiteratortimestimesSeriestimesLimitraceapplysetImmediatenextTickmemoizeunmemoizeensureAsyncconstantasyncifywrapSync -> asyncifylogdirtimeoutreflectreflectAllcreateLogger$ node perf
The value is the ratio (Neo-Async/Async) of the average speed.
| 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 |
| 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 |