我想合并两个 Single<MyData>
这样,如果其中一个失败而另一个成功,则报告失败者的错误和另一个的发射,然后产生 Single<MyData>
(或 Observable<MyData>
)完成。
如果两者都Single<MyData>
失败那么结果也应该失败并且也被标记为失败。
最后我想要的是:
这就像一个“或”操作
最佳答案
这不可能。只允许一个终端事件。契约(Contract)为Single
是 success|error
.如果您还需要接收下一个事件,则应考虑使用 Observable
反而。契约(Contract)为Observable
是 next* complete|error
,但你仍然不会得到一个完整的。
Observable.mergeDelayError(single1.toObservable(), single2.toObservable())
关于rx-java2 - RxJava : Merge multiple singles and complete after some have failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49777067/