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

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts

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