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