可在 JVM Scala 中使用的计时器 & Scala.js
Timer that can be used in JVM Scala & Scala.js
目前我正在开发一个交叉编译为 Scala.js 和普通 JVM Scala 的项目。现在我需要实现一个计时器(用于重新连接 websocket),它每 x 秒触发一个函数。这样一个可以交叉编译的定时器有什么好的实现?
据我所知我不能使用例如:
java.util.concurrent
(不编译为 Scala.js)
setTimeout
和 setInterval
(javascript - 在 JVM Scala 中不可用)
有没有什么好的替代品,或者我错了,这些可以用吗?
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)
有关 API 的详细信息,请参阅上面链接的 JavaDoc。
目前我正在开发一个交叉编译为 Scala.js 和普通 JVM Scala 的项目。现在我需要实现一个计时器(用于重新连接 websocket),它每 x 秒触发一个函数。这样一个可以交叉编译的定时器有什么好的实现?
据我所知我不能使用例如:
java.util.concurrent
(不编译为 Scala.js)setTimeout
和setInterval
(javascript - 在 JVM Scala 中不可用)
有没有什么好的替代品,或者我错了,这些可以用吗?
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)
有关 API 的详细信息,请参阅上面链接的 JavaDoc。