我正在尝试为 do while 循环中的函数调用添加执行延迟,但是当涉及到代码中的该行时,没有延迟。这是它不起作用的循环:
delay = parseInt(delay * 1000);
for (var i = gamesplayed; i<numgames; i++){
do{
$.ajax({
type: "POST",
url: 'cs316program3.php',
data: {player1name:player1name.value, player2name:player2name.value, playtopoints:playtopoints.value, delay:delay.value, numgames:numgames.value, gamesplayed:gamesplayed.value, p1turn:p1turn.value, p2turn:p2turn.value, p1total:p1total.value, p2total:p2total.value},
success: function(data)
{
rolling = data;
}
});
alert(delay);
setTimeout(function { roll() }, delay);
}while (rolling == 1);
我尝试了 setTimeout 调用的不同变体,例如:
setTimeout(roll,delay);
setTimeout(roll(),delay);
setTimeout(function {roll();},delay);
然而,实际上没有一个延迟,他们要么不工作,要么没有延迟。
编辑:我应该说这个循环调用一个返回 1 或 0 的 php 文件以继续循环,如果它是 1