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

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