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