【发布时间】:2011-09-29 06:43:21
【问题描述】:
在 Haxe 中是否有 setTimeout() 和 clearTimeout() 的实现?
当然可以使用Timer 类,但对于一次性执行,我猜这不是最好的方法。
【问题讨论】:
标签: haxe
在 Haxe 中是否有 setTimeout() 和 clearTimeout() 的实现?
当然可以使用Timer 类,但对于一次性执行,我猜这不是最好的方法。
【问题讨论】:
标签: haxe
对于一次性执行,我认为Timer.delay() 是完美的。您可以稍后使用返回的实例来停止计时器:
var timer = haxe.Timer.delay(function() trace("Hello World!"), 250);
...
timer.stop();
您还可以使用js.html.Window extern 访问本机setTimeout():
var handle = js.Browser.window.setTimeout(function() trace("Hello World!"), 250);
...
js.Browser.window.clearTimeout(handle);
【讨论】:
如果您使用的是kha 框架:
Kha 将haxe.Timer 修改为调用kha.Scheduler,最终无法通过setTimeout 获得timestamps - 它通过requestAnimationFrame() 获得这些。
这在选项卡处于非活动状态时似乎不起作用,因此在选项卡处于非活动状态时它的功能不同。
我正在尝试一种解决方法,但目前,它并没有给出与原生 setTimeout()-JS 相同的结果(尽管我找到了一种解决方法,我将提出包含在内)。
【讨论】: