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

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