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