Подтвердить что ты не робот

Что такое эквивалент GWT для setTimeout?

Я хотел знать эквивалент GWT функции setTimeout, доступной в JavaScript?

Я искал это, но не смог найти никакой информации.

4b9b3361

Ответ 1

Timer.schedule

Запланирует таймер в будущем.

например:.

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

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

Ответ 2

Вы должны посмотреть на методы класса Scheduler. Они позволяют планировать команды с фиксированной периодичностью (один раз каждые n миллисекунд), фиксированную задержку (ждать n миллисекунд после завершения команды) или просто одноразовые отложенные команды.

Методы этого класса обеспечивают преимущество над Timer.schedule, поскольку они обеспечивают большую гибкость в отношении того, когда будет вызываться ваша команда, и вам потребуется меньше кода.

Ответ 3

Чтобы удалить шаблонный код, я сделал этот метод (требуется GWT 2.8 или выше):

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

Итак, теперь вы можете просто сделать это (например: задержка в течение 2 секунд, а затем вызов myMethod):

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

Легко.: -)