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