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

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