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

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