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