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