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

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