我工作的GWT + JAVA。延遲循環使用GWT定時器
我有一段在GWT代碼如下
static int DELAY = 1000;
private void downloadAttachments(final List<String> ftIdList)
{
try
{
Timer timer = new Timer()
{
@Override
public void run()
{
int cnt = 1;
for (String url: ftIdList)
{
String windowName = "win" + cnt;
Window.open(url, windowName, "");
cnt++;
scheduleRepeating(DELAY*2);
}
cancel();
}
};
timer.run();
}
catch (Throwable exc)
{
Window.alert(exc.getMessage());
}
}
我需要打開多個窗口,允許用戶下載的所有文件。
我打電話的servlet。
我如何引入循環延遲,直到下一次迭代?
GWT定時器不能安排兩次 - 至少在第一個預定事件觸發之前。調用timer.scheduleRepeating(2000)內部調用cancel(),它取消了第一個調度(500)。 – djjeck 2012-05-23 23:19:03
@djjeck你是對的。答案已更新。謝謝。 – 2012-06-25 13:35:25
+1個不錯的工作。今天這幫助了我。 – 2013-04-01 12:19:20