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