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

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