目前,我正在开发一个交叉编译到Scala.js和普通JVM Scala的项目。现在,我需要实现一个计时器(用于重新连接websocket),该计时器每x秒触发一次函数。可以交叉编译的计时器的良好实现是什么?
据我所知,我无法使用例如:
java.util.concurrent
(不会编译为Scala.js)setTimeout
和setInterval
(javascript-不能从JVM Scala使用)有什么好的选择吗?或者我错了,可以使用这些吗?
答案 0 :(得分:6)
java.util.Timer
受Scala.js支持,并完全提供您正在描述的功能:
val x: Long = seconds
val timer = new java.util.Timer()
timer.scheduleAtFixedRate(new java.util.TimerTask {
def run(): Unit = {
// this will be executed every x seconds
}
}, 0L, x * 1000L)
请咨询我上面链接的JavaDoc,以获取有关API的详细信息。