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

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