Есть ли реализация setTimeout()
и clearTimeout()
в Haxe? Можно, конечно, использовать класс Timer
, но для однократного выполнения, я думаю, это не лучший способ.
Где setTimeout из JavaScript в Haxe?
Ответы (2)
Для одноразового выполнения я думаю, что Timer.delay()
идеально подходит. Вы можете использовать возвращенный экземпляр, чтобы остановить таймер позже:
var timer = haxe.Timer.delay(function() trace("Hello World!"), 250);
...
timer.stop();
Вы также можете получить доступ к родному setTimeout()
с помощью внешнего вида js.html.Window
:
var handle = js.Browser.window.setTimeout(function() trace("Hello World!"), 250);
...
js.Browser.window.clearTimeout(handle);
person
Franco Ponticelli
schedule
29.09.2011
Если вы используете структуру kha:
Kha модифицирует haxe.Timer
для вызова kha.Scheduler
, который в итоге получает timestamps
не через setTimeout
, а через requestAnimationFrame()
.
Кажется, это не работает, пока вкладка неактивна, поэтому это не та же самая функция, когда вкладка неактивна.
Я пытаюсь найти обходной путь, но на данный момент он не дает того же результата, что и собственный setTimeout()
-JS (хотя я нашел обходной путь, который я представлю для включения).
person
Rafael Kress
schedule
01.09.2017