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