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

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts

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