我想遍历一个数组,然后将一些数据写入数据库。下面的代码显示了我将如何使用 for 循环以非异步方式执行此操作。我知道这不是首选的方法。
for(var x = 0;x < tt.matches.length;x++) //Match each player with a match and a playerId from the tournament tree
{
if(tt.matches[x].p[0] !== -1)
{
var tmId = JSON.stringify(tt.matches[x].id);
Player.update({ _id : grUpd.players[y] },{ tournamentMatchId : tmId, treeId : tt.matches[x].p[0], opponent : tt.matches[x].p[1] },{ safe : true }, function (err) {
if(err)
{
console.log(err);
}
});
y++;
}
if(tt.matches[x].p[0] === -1)
{
byes++;
}
if(tt.matches[x].p[1] !== -1)
{
var tmId = JSON.stringify(tt.matches[x].id);
Player.update({ _id : grUpd.players[y] },{ tournamentMatchId : tmId, treeId : tt.matches[x].p[1], opponent : tt.matches[x].p[0] },{ safe : true }, function (err) {
if(err)
{
console.log(err);
}
});
y++;
}
if(tt.matches[x].p[1] === -1)
{
byes++;
}
}
然后我需要执行以下操作,再次以“传统方式”显示。
for(var x = 0;x < plyrs.length;x++)
{
var nextMatch = JSON.stringify(tt.upcoming(plyrs[x].treeId)) ;
Player.update({ _id : plyrs[x]._id },{ tournamentMatchId : nextMatch },{ safe : true }, function (err) {
if(err)
{
console.log(err);
}
});
}