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