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

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