LAPTOP-UBJMM5MG\user d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
..
LICENSE d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
README.md d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
all.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
allLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
allSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
angelFall.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
any.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
anyLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
anySeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
apply.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
applyEach.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
applyEachSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
async.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
async.min.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
asyncify.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
auto.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
autoInject.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
cargo.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
compose.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
concat.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
concatLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
concatSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
createLogger.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
detect.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
detectLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
detectSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
dir.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
doDuring.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
doUntil.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
doWhilst.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
during.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
each.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
eachLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
eachOf.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
eachOfLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
eachOfSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
eachSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
ensureAsync.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
every.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
everyLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
everySeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
fast.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
filter.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
filterLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
filterSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
findLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
findSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
foldl.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
foldr.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
forEach.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
forEachLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
forEachOf.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
forEachOfLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
forEachOfSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
forEachSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
forever.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
groupBy.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
groupByLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
groupBySeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
inject.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
iterator.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
log.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
map.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
mapLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
mapSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
mapValues.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
mapValuesLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
mapValuesSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
memoize.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
nextTick.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
omit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
omitLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
omitSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
package.json d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
pickLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
pickSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
priorityQueue.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
race.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
reduceRight.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
reflect.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
reflectAll.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
reject.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
rejectLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
rejectSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
retry.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
retryable.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
safe.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
select.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
selectSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
seq.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
series.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
some.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
someLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
someSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
sortBy.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
sortByLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
sortBySeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
timeout.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
times.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
timesLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
timesSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
transform.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
transformLimit.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
transformSeries.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
tryEach.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
waterfall.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
whilst.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos
wrapSync.js d7428fd373 更新 %!s(int64=2) %!d(string=hai) anos

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