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

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