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