Ich versuche eine Funktion zu erstellen, die die Datenbank abfragt und eine Liste von Objekten zurückgibt und für jedes Objekt muss ich die Datenbank abfragen und zurückgeben Ergebnis aller Abfragen.Warten, bis N Anzahl der Abfragen beendet ist, bevor die Callback - Funktion mit Nodejs aufgerufen wird
Wie warten, bis alle Abfragen abgeschlossen sind, oder sollte ich sie auf eine synchrone Weise tun? Wenn das so ist, wie ? Sollte ich nicht die Tatsache ausnutzen, dass sie alle ausgewählte Abfragen sind und nicht voneinander abhängen, also parallel laufen, um die Zeit zu optimieren? Ist das ein schlechtes Design? oder vielleicht sollte ich gespeicherte Prozeduren dafür verwenden?
getTopActiveUsers:function(callback) {
pool.connect(function (err, client, done) {
if (err)
callback(null, err);
else {
User.finAll(client,function(users) {
for(var i=0;i<users.length;i++) {
Application.findByUser(users[i].id,function(applications) {
// here i have the applications for user i
})
}
// need to call the callback function when all queries finishes
})
}
});
}