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