我正在学习monix 3
。
下一个代码:
object Main extends TaskApp {
override def runc = {
Observable.fromIterable(1 to 10)
.map{i =>
val delay = Random.nextInt(1000) + 1000
println(s"Starting $i, delay = $delay")
Thread.sleep(delay) // Imitation of hard execution
i
}
.map{i =>
val delay = Random.nextInt(1000) + 1000
println(s"Continue $i, delay = $delay")
Thread.sleep(delay)
i
}
.consumeWith(Consumer.loadBalance(3, Consumer.foreach(i => println(s"End $i")))) //Compile error here
}
}
导致编译错误:
缺少参数类型
.consumeWith(Consumer.loadBalance(3,Consumer.foreach(i => println(s“ End $ i”)))))
我不知道这是怎么回事,以及如何编译此代码?
UPD
第二个问题是如何每n
分钟重复一次此流?
答案 0 :(得分:3)
作为第一个问题的答案,您必须为foreach
明确指定类型参数:
Consumer.foreach[Int](i => println(s"End $i"))
要回答第二个问题,请使用Observable.intervalAtFixedRate
或Observable.intervalAtFixedDelay
。
请参阅Monix Scaladoc。
我希望这会有所帮助。