Luciano Luciano - 3 months ago 52
Scala Question

How to emulate a BehaviorSubject with a connectable Observable in RX-Scala

Is there a way to make an

Observable
emulate a
BehaviorSubject
(but without the
Observer
interface) in rx-scala? I.e. make it an Observable with memory, so that it can have multiple subscriptions, and on each new subscription, it produces the last emitted value?

Observable.publish()
does half the job, but it doesn't emit the last value.
Observable.cache.publish()
on the other hand replays all values - I would need something like that, but which only replays the last emitted value, to handle infinite streams.

Rx-Java solutions also accepted, although the native Scala form is preferred!

Answer

With the scala bindings, use observable replay 1 refCount.

Comments