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

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts

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