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

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