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

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