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

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