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