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