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

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts

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