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

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