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