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

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