MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Renvoie la concaténation du résultat des rappels appelés dans une boucle

Gardez une trace du nombre de résultats que vous attendez toujours, puis appelez un rappel lorsque vous avez terminé :

function getCurrentScore(callback) {
    var teamScores = "", teamsLeft = teams.length;
    for(var i=0 ; i<teams.length; i++) {
        (function(i){
            PingVoteModel.count({"votedTo": "TEAM"+(i+1)}, function( err, count) {
                teamScores += "<Team" + (i+1) + "> " + count + "\t";
                if (--teamsLeft === 0) {
                    callback(teamScores);
                }
            });
        }(i));
    }
}