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

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