Avant de rendre une page, je dois faire plusieurs requêtes à mongodb. Voici comment je le fais maintenant (db.js est ma couche de traitement de base de données):Demande asynchrone complète à Mongodb via node.js
db.findUser(objid, function(result1){
db.findAuthor(objid, function(result2){
db.findSmthElse (objid, function(result3){
res.render('template', {
user: result1,
author: result2,
smthelse: result2
});
});
});
});
Je suppose que cette methos tue l'idée de async. Cependant, je dois appeler res.render uniquement après que toutes les demandes ont été traitées. Comment lancer async? Dois-je utiliser la bibliothèque async comme il a été conseillé ici: multiple async mongo request in nodejs ou existe-t-il des solutions plus appropriées? Merci.
Utilisez la bibliothèque async. En utilisant une solution similaire à la réponse acceptée dans le lien que vous avez fourni est le chemin à parcourir. –
D'accord avec @MattCain - à moins que vous construisiez quelque chose de trivial, il est probable que vous serez obligé d'utiliser quelque chose comme async à un moment donné - pourrait aussi bien le connaître. – UpTheCreek