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