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