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

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