Where is "setTimeout" from JavaScript in Haxe?

In case you're using the kha framework:

Kha modifies haxe.Timer to call kha.Scheduler, which in the end doesn't get the timestamps via setTimeout - it gets these via requestAnimationFrame().

This seems to not work while a tab is inactive, so it's not the same function while the tab is inactive.

I'm attempting a workaround, but at the moment, it doesn't give the same result as a native setTimeout()-JS does (although I found a workaround which I'll present for inclusion).


For a one-shot execution I think that Timer.delay() is perfect. You can use the returned instance to stop the timer later:

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

You could also access the native setTimeout() with the js.html.Window extern:

var handle = js.Browser.window.setTimeout(function() trace("Hello World!"), 250);
...
js.Browser.window.clearTimeout(handle);

Tags:

Haxe