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

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