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