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

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