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

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