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