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

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