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