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

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