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