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

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