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