for(i=0;i<10;i++){
code
setTimeout
code
}
我想阻止循环继续,直到超时结束,任何想法??
答案 0 :(得分:1)
var i = 0;
nextMove( );
function nextMove( ) {
i++;
if( i != 10 ) setTimeout(nextMove,3000);
}
答案 1 :(得分:1)
重复10次:
var j = 10;
setTimeout(someFunction, 1000);
function someFunction()
{
if (j > 0)
setTimeout(someFunction, 1000);
j = j - 1;
}
答案 2 :(得分:0)
如果你有Function.prototype.bind()可用:
function operation() {
if (!this) return;
// do something
setTimeout(operation.bind(--this), 1000);
}
setTimeout(operation.bind(10), 1000);
答案 3 :(得分:0)
我相信没有办法延迟执行正在执行的指令之后的代码块。
你唯一能做的就是将需要延迟的代码包装在一个函数周围,并使用set time out,就像之前的注释所示。