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