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

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