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

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