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

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