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