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

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