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