如何导致与代码-javascript同步工作的延迟

时间:2011-05-31 13:39:59

标签: javascript

for(i=0;i<10;i++){

  code

  setTimeout

  code

}

我想阻止循环继续,直到超时结束,任何想法??

4 个答案:

答案 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,就像之前的注释所示。