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

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