какой экземпляр?
Должно быть ясно из контекста предыдущего предложения в документах :
Излучатель позволяетрегистрация отдельного ресурса в виде Disposable
или Cancellable
через setDisposable(Disposable)
или setCancellable(Cancellable)
соответственно.Реализации эмиттера будут удалять / отменять этот экземпляр, когда нисходящий поток отменяет поток или после того, как логика генератора событий вызывает onSuccess(Object)
, Emitter.onError(Throwable)
, Emitter.onComplete()
или когда tryOnError(Throwable)
завершается успешно.
экземпляр Disposable
или Cancellable
.
Почему Xxx не может быть создан с обычным наблюдателем
Мы не хотим, чтобы пользователь вызывалметод onSubscribe
, поскольку он не используется в операторах.Мы не можем скрыть методы, поэтому мы разработали отдельный интерфейс только с поддерживаемыми методами.
с .subscribe (), возвращающим Disposable?
Из-заназывается синхронной проблемой отмены.Если ваш метод никогда не возвращается по какой-либо причине, он не может вернуть Disposable
, и нисходящий поток не имеет средств для отмены потока.
Почему .onSubscribe () был удален из Emitter
Нет причин вызывать его, поскольку оператор обработает вызов к Observer.onSubscribe
для нисходящего потока для вас до вызова метода subscribe
реализации эмиттера.
Каково обоснование для требования эмиттера?
Дизайн API.Мы предоставляем четкий набор методов, которые можно вызывать без раскрытия методов, которые не должны или не будут работать в любом случае.
Когда бы вы использовали Cancellable против Disposable?
Пожалуйста, прочитайте javadoc и подпись.Используйте то, что удобно для ваших нужд отмены ресурса.
Как добавление .tryOnError () может помочь?
Пожалуйста, прочитайте javadoc .
Есть ли более полное объяснение этой схемы?
Пожалуйста, посмотрите каждый пример в различных методах javadocs .
Вызывает ли .retry () .dispose () upstream перед попыткой повторной подписки?
Теоретически нет необходимости вызывать dispose
при получении ошибки, кроме текущейреализация может сделать это независимо.Я должен подумать, нужно ли это изменить в RxJava или нет.