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

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