0

我正在尝试为 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

4

0 回答 0