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

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts

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