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

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