RxJava Observable 继续出错并获取状态

RxJava Observable continue on error and get status

在 RxJava(或一般的 RX)中,有没有什么方法可以组合 observables,使得结果 observable 等待直到每个 observables 以任何一种方式完成(当它们中的任何一个抛出错误时都不会惊慌失措)和然后以单个结果完成,其中包含有关哪个可观察对象成功完成以及哪个遇到错误的信息?

另外return observable 的结果,如果它成功完成,或者当失败完成时的错误原因(例如 Throwable 实例)?

行为类似于此 (RSVP.js):

https://github.com/tildeio/rsvp.js/#all-settled-and-hash-settled

我可以选择实现类似于 Scala 的 Try 的概念,将此类可观察对象发出的值包装到 Try 值中,并使用 http://reactivex.io/documentation/operators/catch.html 处理错误并将它们转换为错误值...但那将是手动工作因此我想知道是否有一些我在阅读文档时错过或没有正确理解的预制运算符

编辑:它不需要是一个单一的结果,我会使用 observable,它也会发出包含在 Try 构造中的所有值:)

.materialize() 可能就是您要找的。它将 Observable<T> 转换为 Observable<Notification<T>>,其中 Notification 是值或错误或完成。