Javascript暂停循环等待事件

时间:2012-12-13 17:21:36

标签: javascript for-loop

我正在使用:

for(i = 0; i < numPages; i++)
{
returnViewONE.setPage(array[i]);
alert("page "+array[i]+" set");
returnViewONE.savePage(sFolderPath+i+"file.tiff");
alert(sFolderPath+i+"file.tiff Saved");
}

但是我发现如果没有警报,这就很难保存第二个第3页....有没有办法暂停等待事件的循环。 我们有一个事件6,在保存页面时会触发它。

,例如

for(i = 0; i < numPages; i++)
{
returnViewONE.setPage(array[i]);
alert("page "+array[i]+" set");
returnViewONE.savePage(sFolderPath+i+"file.tiff");
alert(sFolderPath+i+"file.tiff Saved");
when (id == 6) then loop untill i++
}

1 个答案:

答案 0 :(得分:1)

我认为你不能暂停一个循环,但也许你可以保持循环并检查你的情况而不做任何事情,直到满足条件。如果您使用了while循环,并且在您等待的条件满足之前没有增加计数器怎么办?

i = 0;
lastIteration = -1;
while(i < numPages) {
  if(i > lastIteration) {
    returnViewONE.setPage(array[i]);
    returnViewONE.savePage(sFolderPath+i+"file.tiff");
  }

  lastIteration = i;

  if(/*savePage has completed*/) {
   i++;
  }
}

如果savePage永远不会完成,这将永远循环,所以你必须在那里有一些安全机制。