1

I have two Observables created from a single Observable as follows

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)

Now how can I run leftStream and rightStream parallelly and combine them together to get a new Observable I can subscribe on? Doing an Observable.merge is executing them sequentially.

N A
  • 831
  • 2
  • 8
  • 28

1 Answers1

2

Do leftStream.zip(rightStream) and should provide backpressure to both streams.

But creating leftStream and rightStream from originalStream using map, means an element in originalStream will go to either one of these streams, not both.

JVS
  • 521
  • 6
  • 18