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

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