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

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