2011-11-09 36 views

Trả lời

16

Timer.schedule

Lịch hẹn giờ trôi qua trong tương lai.

Eg .:

Timer t = new Timer() { 
    public void run() { 
    Window.alert("Nifty, eh?"); 
    } 
}; 

// Schedule the timer to run once in 5 seconds. 
t.schedule(5000); 
+0

Cảm ơn .. đã hoạt động – ravi

4

Bạn nên nhìn vào các phương pháp của lớp Scheduler. Chúng cho phép bạn lên lịch các lệnh trên một chu kỳ cố định (mỗi n mili giây), trễ cố định (chờ n mili giây sau khi hoàn thành lệnh) hoặc chỉ một lệnh trì hoãn một lần.

Các phương pháp của lớp này mang lại lợi thế hơn Timer.schedule, vì chúng cung cấp sự linh hoạt hơn khi lệnh của bạn được gọi và yêu cầu bạn tự viết mã ít hơn.

+0

... nhưng bộ hẹn giờ có thể bị hủy hoặc được lên lịch lại, chứ không phải ScheduledCommand. –

0

Để loại bỏ mã soạn sẵn, tôi đã thực hiện phương pháp này (yêu cầu GWT 2.8 trở lên):

import com.google.gwt.user.client.Command; 
import com.google.gwt.core.client.Scheduler; 

public static void delay(int delayMs, Command afterDelay) { 
    Scheduler.get().scheduleFixedDelay(
     () -> { 
      afterDelay.execute(); 
      return false; 
     }, 
     delayMs); 
} 

Vì vậy, bạn có thể bây giờ chỉ cần làm điều này (ví dụ như: chậm trễ trong 2 giây, và sau đó gọi myMethod):

delay(2000,() -> myMethod()); 

Dễ dàng. :-)

Các vấn đề liên quan