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

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