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