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

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