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

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts

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