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

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts

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