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