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