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

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