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

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