Akka や scalajs、dom、rx 以外のライブラリに依存しない、Li Haoyi の scala.rx のタイマーを使用する簡単な例を教えてください。
Haoyi の GitHub のタイマーの例は次のとおりです。
import scala.concurrent.duration._
implicit val scheduler = new AkkaScheduler(akka.actor.ActorSystem())
val t = Timer(100 millis)
var count = 0
val o = Obs(t){
count = count + 1
}
println(count) // 3
println(count) // 8
println(count) // 13
ただし、これは Akka を使用します。
scala.rx apiを見ると、 rx.ops.Timerを作成する方法は次のとおりです。
new Timer(interval: FiniteDuration, delay: FiniteDuration)(implicit scheduler: Scheduler, p: Propagator[P], ec: ExecutionContext)
ここで、Scheduler は次のように定義された特性です。
abstract def scheduleOnce[T](interval: FiniteDuration)(thunk: ⇒ T)(implicit executor: ExecutionContext): Unit
スケジューラは JVM 上の Akka ActorSystem であり、JavaScript の setTimeout 関数です。」
API のすべての情報は役に立ちますが、単純なタイマーの正しい構文をまだ取得できません。