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