我希望能够做出类似的事情:
function testFunction() {
alert("Test");
}
if (x > y) {
wait(z);
testFunction();
}
谢谢!
答案 0 :(得分:2)
请尝试使用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);
}
希望有所帮助。
答案 1 :(得分:1)
现在可以很好地完成承诺:
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();
答案 2 :(得分:0)
您必须将代码放在您提供给setTimeout的回调函数中:
function stateChange(newState) {
setTimeout(function () {
if (newState == -1) {
alert('VIDEO HAS STOPPED');
}
}, 5000);
}
从这个问题:Javascript - Wait 5 seconds before executing next line