创建RX可观察对象而不调用onComplete是否有效?

问题描述 投票:0回答:1

我不是Rx方面的专家,如果这是一个小问题,抱歉。我正在执行轮询操作,必须等待更新,并且为此创建了Rx Observable;但是,我从不调用onComplete。但是在onDestroy中,我取消了订阅。请看下面的代码。

@Reusable
class PollingExample @Inject constructor() {
    var itemObservable: Observable<List<Item>>
        private set
    private lateinit var itemObservableEmitter: WeakReference<ObservableEmitter<List<Item>>>

    init {
        itemObservable = Observable.create { e -> itemObservableEmitter = WeakReference(e) }
    }

    fun submitData(items: List<Item>) {
        itemObservableEmitter.get()?.onNext(items)
    }
}

做这样的事情是否合法

android rx-java rx-android
1个回答
0
投票

经过一些搜索,我认为只要我不想调用onError()onComplete(),最好使用此库https://github.com/JakeWharton/RxRelay,该库可确保一切都将继续工作而不必担心意外触发终端状态] >

© www.soinside.com 2019 - 2024. All rights reserved.