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

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts FOSSA

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

License

FOSSA Status