Javascript 如何在运行下一行代码之前等待 x 秒



我希望能够制作类似这样的东西:

function testFunction() {
    alert("Test");
}
if (x > y) {
    wait(z);
    testFunction();
}

谢谢!

现在可以很好地完成承诺:

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}
async function demo() {
  console.log('Taking a break...');
  await sleep(2000);
  console.log('Two second later');
}
demo();

请尝试使用 setTimeout 函数:

setTimeout(function(){ alert("Hello"); }, 3000);

从这个链接:

https://www.w3schools.com/jsref/met_win_settimeout.asp

因此,对于您的特定用例:

var timeToWait = 3000; // in miliseconds.
function testFunction() {
    alert("Test");
 }
 if (x > y) {
      setTimeout(function(){ testFunction(); }, timeToWait);
  }

希望有帮助。

你必须把你的代码放在你提供给setTimeout的回调函数中:

function stateChange(newState) {
    setTimeout(function () {
        if (newState == -1) {
            alert('VIDEO HAS STOPPED');
        }
    }, 5000);
}

从这个问题: Javascript - 在执行下一行之前等待 5 秒

最新更新