Search code examples
haxe

Where is "setTimeout" from JavaScript in Haxe?


Is there an implementation of setTimeout() and clearTimeout() in Haxe? It's of course possible to use the Timer class, but for a one-shot execution it's not the best way, I guess.


Solution

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