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