GWT Timer.scheduleRepeating在调用cancel()后继续激发



我在应用程序中使用的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。

最新更新