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

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