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

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