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

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