Создание RX Observable без вызова onComplete это действительно? - PullRequest
0 голосов
/ 29 марта 2020

Я не эксперт в Rx, извините, если это тривиальный вопрос. Я делаю операцию опроса, которая должна ждать обновлений, и я создал Rx Observable для этого; Тем не менее, я никогда не звоню на полный. но в 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)
    }
}

Допустимо ли делать что-то подобное

1 Ответ

0 голосов
/ 12 апреля 2020

После некоторого поиска я думаю, что пока я не хочу звонить onError() или onComplete(), лучше использовать эту библиотеку https://github.com/JakeWharton/RxRelay, которая гарантирует, что все будет работать без проблем случайного запуска состояния терминала

...