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

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