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

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