Jogando com async.auto ()

Async .auto () pode evitar que você grave uma floresta de .series()e .parallel(). Se você quiser reutilizar callbacks existentes de séries / paralelos, ou apenas parecer bobo, você pode tentar o seguinte hack:

function aapply(deps, fn) {
deps
= [].concat(deps);
return deps.concat(function (next, hash) {
var args = deps.map(function (i) { return hash[i]; });
fn
.apply(null, args.concat(next));
});
}

Um exemplo deve ser suficiente 🙂

async.auto({
foo
: function (next) { next(null, 'foo'); },
bar
: function (next) { next(null, 'man'); },
wat
: aapply(['foo', 'bar'], function (a, b, next) {
next(null, a + b + 'xu');
})
}, console.log);

editado para reduzir a legibilidade geral e certificar- depsse de que é um array.