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

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