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