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