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