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