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

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