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