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

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