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