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

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