Къде е setTimeout от JavaScript в Haxe?

Има ли реализация на setTimeout() и clearTimeout() в Haxe? Разбира се, възможно е да се използва класът Timer, но за еднократно изпълнение това не е най-добрият начин, предполагам.


person nepa    schedule 29.09.2011    source източник


Отговори (2)


За еднократно изпълнение мисля, че Timer.delay() е перфектен. Можете да използвате върнатия екземпляр, за да спрете таймера по-късно:

var timer = haxe.Timer.delay(function() trace("Hello World!"), 250);
...
timer.stop();

Можете също така да получите достъп до родния setTimeout() с js.html.Window extern:

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