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