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

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