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

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