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

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