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