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