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

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