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

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