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

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