2011-11-09 8 views

Odpowiedz

16

Timer.schedule

Rozkłady czasomierza upłynąć w przyszłości.

np .:

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

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

Dzięki .. że pracował – ravi

4

Należy spojrzeć na metody klasy Scheduler. Pozwalają one zaplanować polecenia o ustalonej okresowości (raz na każdy czas), stałe opóźnienie (oczekiwanie po upływie 23 sekund od wykonania polecenia) lub tylko jednorazowe polecenia opóźnione.

Metody tej klasy zapewniają przewagę nad Timer.schedule, ponieważ zapewniają większą elastyczność w zakresie wywoływania polecenia i wymagają mniejszego kodu.

+0

... ale zegar można anulować lub zmienić harmonogram, a nie Zaplanowana komenda. –

0

Aby usunąć kod szablonowe, zrobiłem tę metodę (wymaga GWT 2.8 lub powyżej):

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); 
} 

Więc może teraz po prostu to zrobić (np opóźnienie 2 sekundy, a następnie zadzwonić myMethod):

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

Łatwy. :-)

Powiązane problemy