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

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