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