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

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