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

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