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

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts FOSSA

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

License

FOSSA Status