计时器在 GWT 中不起作用,

Timer is not working in GWT,

当执行在我这边完成时,我正在重定向其他网页。我想向我的用户显示我们 "redirecting in %d seconds" 的消息,因为我使用了计时器 class,但它仍在立即重定向。

代码如下。

 public void redirect(){
      hanldeWait() ;
       Window.Location.assign(Url) ;
 }

   private void hanldeWait(){
    Timer timer = new Timer() {
        int i = 5 ;
        public void run() {
            if(i < 0){
                errorMessage.setVisible(false);
                cancel() ;
            }else{
                i-- ;
                String redirectionMessage = "Redirecting in %d seconds" ;
                String displayMessage = redirectionMessage ;

                displayMessage  = format(redirectionMessage, (Integer)i) ;
                errorMessage.setText(displayMessage);
                errorMessage.setVisible(true);

            }
        }
      };
      timer.scheduleRepeating(5000) ;
}

如果我在这里做错了。

您的代码告诉浏览器立即重定向,没有延迟。

如果你想在延迟后重定向,那么

Window.Location.assign(Url) ;

应该在内部调用定时器的run方法。