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