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