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

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