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