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

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