В чем проблема добавления .dispose () после .subscribe () - PullRequest
0 голосов
/ 08 октября 2019

Пройдя несколько дискуссий о том, когда располагать CompositeDisposable, я удивляюсь, почему мы не можем просто добавить .dispose() после .subscribe() в коде.

Observable.just(0)
    .doOnNext{...}
    .subscribe()
    .dispose()

Что на самом деле происходитесли код такой? Можно ли так писать? (вместо .addTo(compositeDisposable))

1 Ответ

0 голосов
/ 08 октября 2019

после того, как вы позвонили утилизировать, он больше не будет распространять результат среди подписчиков

, поэтому вы должны утилизировать одноразовые вещи, как только эта наблюдаемая остановится для выдачи значений, как показано ниже

fun Disposable?.disposeIfNotNullAndNotDisposed() {
    if (!(this == null || this.isDisposed)) this.dispose()
}
...