我在应用程序中使用的GWT计时器似乎不会响应对cancel()的调用。
我看到新的服务器调用被触发,即使在到达cancel()之后也是如此。
com.google.gwt.user.client.Timer t = new com.google.gwt.user.client.Timer() {
@Override
public void run() {
myService.poll(result.getKey(), new HappyAsyncCallback<JobResult>() {
@Override
public void onSuccess(JobResult result) {
if (result.getUuid() != null && !result.getUuid().isEmpty()) {
Window.alert("Done! Cancelling...");
cancel();
}
}
});
}
};
t.scheduleRepeating(5000);
我读过这些类似的问题,但不幸的是,我没能利用这些问题对我有利。
GWT计时器取消不工作
可以';t取消GWT 中的重复计时器
我被自己的应用程序愚弄了。我们正在服务器上进行一个非常漫长的批处理过程,在此过程中,Timer将触发对poll()的多次调用。当到达cancel()方法时,这些调用仍然从服务器返回:)谢谢你的建议,Manolo。