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