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

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