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

README.md

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