我有一个Observable,它是从一个Observable创建的,如下所示
import monix.reactive.Observable
import scala.collection.immutable
val a: immutable.Seq[(String, String)] = (0 to 10).toList.map(x =>(s"left-$x", s"right-$x"))
val originalStream: Observable[(String, String)] = Observable.fromIterable(a)
val leftStream: Observable[String] = originalStream.map(_._1).map(println)
val rightStream: Observable[String] = originalStream.map(_._2).map(println)
现在我如何并行运行leftStream和rightStream并将它们组合在一起以获得我可以订阅的新Observable?执行Observable.merge是按顺序执行它们。
答案 0 :(得分:2)
执行leftStream.zip(rightStream)
并且应该为两个流提供背压。
但是使用map从originalStream创建leftStream和rightStream意味着originalStream中的一个元素将转到其中一个流,而不是两者。