2

我正在使用带有两个 observables 的 RxJava CombineLatest。我的问题是,如果其中一个可观察对象以 onError 结尾,是否会调用组合 onNext?

当两个可观察对象都正确发出项目但我找不到错误情况下会发生什么时,文档显示了愉快的场景。

|----onError ----| 可观察的1

|----------- O -------- O ------| 可观察的2

|-------------?----------?----| CombineLatest - 会调用 onNext 吗?

4

1 回答 1

2

一般合同是这样的:协调操作员在从任何来源收到第一个 onError 时终止,除非有delayErrors参数设置为true或操作员名称有DelayError后缀。

关于由于空源引起的短路还有一条附加规则:combineLatest

如果任何源从不产生项目而只是终止(通常或有错误),则结果序列立即终止(通常或在该点之前累积所有错误)。如果该输入源也是同步的,则不会订阅它之后的其他源。

于 2019-02-25T10:30:48.000 回答