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

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