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

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