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

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