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

Neo-Async

npm Travis Status Coverage Status download

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