使用setTimeout()的javascript超时/睡眠
如何设置2秒超时以等待页面控件填充?我想使用javascript我尝试了以下方法,但没有效果:使用setTimeout()的javascript超时/睡眠,javascript,jquery,timeout,sleep,timing,Javascript,Jquery,Timeout,Sleep,Timing,如何设置2秒超时以等待页面控件填充?我想使用javascript我尝试了以下方法,但没有效果: setTimeout(function(){},2000); setTimeout(2000); 有人能提供一个指针吗 setTimeout(function(){ //put your code in here to be delayed by 2 seconds },2000); 要延迟的代码需要放在setTimeout函数中。这样试试 $('input').click(function
setTimeout(function(){},2000);
setTimeout(2000);
有人能提供一个指针吗
setTimeout(function(){
//put your code in here to be delayed by 2 seconds
},2000);
要延迟的代码需要放在setTimeout函数中。这样试试
$('input').click(function () {
var that = $(this);
setTimeout(function() { alertMsg(that); },2000);
});
注意:此答案的一部分与相同,但此答案还包括输出,以明确构造的
sleep()
允许同一线程中的独立循环交错运行
ECMAScript最新草案(ECMA-262)。截至2019年,大多数broswers都支持,但IE不支持
function sleep(n) { return new Promise(resolve=>setTimeout(resolve,n)); }
async function LoopA() {
for (let i=0;i<10;i++) {
console.log("LoopA i=",i,
",sec=",performance.now().toFixed(0)/1000);
await sleep(1000);
}
}
async function LoopB() {
for (let i=0;i<10;i++) {
console.log("LoopB i=",i,
",sec=",performance.now().toFixed(0)/1000);
await sleep(1000);
}
}
LoopA();
LoopB();
超时后要执行的任何操作都必须在传递给
setTimeout()
的回调函数内,如第一个示例所示
LoopA i= 0 ,sec= 1648.665
LoopB i= 0 ,sec= 1648.665
LoopA i= 1 ,sec= 1649.666
LoopB i= 1 ,sec= 1649.667
LoopA i= 2 ,sec= 1650.667
LoopB i= 2 ,sec= 1650.669
LoopA i= 3 ,sec= 1651.669
LoopB i= 3 ,sec= 1651.67
LoopA i= 4 ,sec= 1652.67
LoopB i= 4 ,sec= 1652.671
LoopA i= 5 ,sec= 1653.671
LoopB i= 5 ,sec= 1653.672
LoopA i= 6 ,sec= 1654.672
LoopB i= 6 ,sec= 1654.674
LoopA i= 7 ,sec= 1655.674
LoopB i= 7 ,sec= 1655.675
LoopA i= 8 ,sec= 1656.675
LoopB i= 8 ,sec= 1656.676
LoopA i= 9 ,sec= 1657.677
LoopB i= 9 ,sec= 1657.678