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

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