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