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

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