2012-12-13 76 views
0

等待我使用:的Javascript暫停循環事件

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"); 
} 

但是我發現沒有,這是failling保存第二第三....頁,警報是有暫停的循環等待的方式爲一個事件。 我們有一個事件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++ 
} 
+2

我們是否應該奇蹟般地猜測'setPage'和'savePage'方法的含義? – raina77ow

+2

*「..我們有一個事件6,在保存頁面時觸發......」*您有一個名爲「6」的事件?你是一個*真的*死硬的*囚徒*粉絲? –

+0

@ raina77ow:我認爲'returnViewONE'是Daeja的ViewONE TIFF查看器。 –

回答

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從未完成,這將永遠循環,所以你必須在那裏有某種安全機制。