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