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

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