永远不会调用RxScala ConnectableObservable.doOnSubscribe?

时间:2017-01-11 04:31:23

标签: java rx-java rx-scala

val observable = Observable(...)
    .publish
val subscription = observable.connect

observable.doOnsubscribe(() => doSomething)
    .subscribe()

永远不会调用doSomething。 RxJava完全相同的代码工作正常。无论出于何种原因,它似乎从未传播到底层的Java Observable

更新: 所以我的解决方法是

observable.asJavaObservable
    .doOnSubscribe(new Action0 {
        override def call(): Unit = {
            doSomething
        }
    }}.asScala
    .subscribe()

1 个答案:

答案 0 :(得分:0)

publish创建一个连接的Observable。这与标准Observable略有不同,您需要调用connect()以便连接的Observable开始发送。请参阅文档here