首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用来自scala.rx的计时器

使用来自scala.rx的计时器
EN

Stack Overflow用户
提问于 2014-07-09 18:02:23
回答 1查看 327关注 0票数 1

有人能给我一个简单的例子,说明如何使用李浩毅的scala.rx中的计时器,它不依赖于Akka或除了scalajs、dom和rx之外的任何其他库?

Haoyi的GitHub中定时器的例子是:

代码语言:javascript
复制
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的方法是:

代码语言:javascript
复制
new Timer(interval: FiniteDuration, delay: FiniteDuration)(implicit scheduler: Scheduler, p: Propagator[P], ec: ExecutionContext)

其中Scheduler是定义为:

代码语言:javascript
复制
abstract def scheduleOnce[T](interval: FiniteDuration)(thunk: ⇒ T)(implicit executor: ExecutionContext): Unit

Scheduler是JVM上的Akka ActorSystem,JavaScript中的setTimeout函数。

虽然api中的所有信息都很有用,但对于简单的计时器,我仍然无法获得正确的语法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-09 20:38:16

如果我从文档中正确理解,您只需在作用域中提供一个隐式DomScheduler,而不是AkkaScheduler

代码语言:javascript
复制
import rx.ops._

implicit val scheduler = new DomScheduler
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24660796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档