を実行する方法filter
、map
および複数のスレッドflatMap
を使用する場合:Observable
def withDelay[T](delay: Duration)(t: => T) = {
Thread.sleep(delay.toMillis)
t
}
Observable
.interval(500 millisecond)
.filter(x => {
withDelay(1 second) { x % 2 == 0 }
})
.map(x => {
withDelay(1 second) { x * x }
}).subscribe(println(_))
目標は、複数のスレッドを使用してフィルター操作と変換操作を同時に実行することです。