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

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