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

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