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