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

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