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