各种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
相关分类