まだ待っている結果の数を追跡し、完了したらコールバックを呼び出します。
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));
}
}