各种RxJava2流(Single
,Maybe
等等-我把它们称为Xxx
)有一个静态方法.create( XxxOnSubscribe onSubscribe )
。XxxOnSubscribe
传递的对象应该实现方法void subscribe( XxxEmitter emitter )
。
AnEmitter
似乎类似于 anObserver
但有一些不同(它不完全是 的扩展Observer
):
它的.subscribe()
方法返回void
而不是Disposable
它缺少一个.onSubscribe()
方法(返回 a Disposable
)
它增加了一些方法.setCancellable()
,.setDisposable()
,.isDisposed()
,和.tryOnError()
。
文档说“当下游取消流或在事件生成器逻辑调用之后或成功时onSuccess(Object)
,发射器实现将处置/取消此实例(什么实例?)。”onError(Throwable)
onComplete()
tryOnError(Throwable)
我对此的问题包括:
为什么不能用返回 aXxx
的法线创建?Observer
.subscribe()
Disposable
为什么被.onSubscribe()
淘汰Emitter
?
要求一个的理由是Emitter
什么?
你什么时候使用 aCancellable
和 a Disposable
?
.tryOnError()
帮助东西的添加如何?
是否有对该方案的更全面的解释?
(可能相关:我的 Android 应用程序似乎遇到了.retry()
运营商的一些奇怪行为。在尝试重新订阅之前是否.retry()
调用.dispose()
上游?)
慕桂英3389331
相关分类