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