Sono un grande fan di underscore/lodash, quindi di solito uso _.after
, che crea una funzione che viene eseguita solo dopo essere stata chiamata un certo numero di volte.
var finished = _.after(2, doRender);
asyncMethod1(data, function(err){
//...
finished();
});
asyncMethod2(data, function(err){
//...
finished();
})
function doRender(){
res.render(); // etc
}
Poiché javascript solleva la definizione delle funzioni definite con la function funcName()
sintassi, il tuo codice si legge naturalmente:dall'alto verso il basso.