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

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