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