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

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