Question

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!

Was it helpful?

Solution 2

With the scala bindings, use observable replay 1 refCount.

OTHER TIPS

How about simply using the existing BehaviorSubject Scala implementation? As you can see, it's certainly available in 0.16.0, and I'm certain 0.15.0 includes it as well.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top