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

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