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

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