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

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