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

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