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

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