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