【发布时间】:2021-12-14 17:03:34
【问题描述】:
我有两个IObservable<T>,并想创建一个IObservable<Unit>(或某种ISingle<Unit>,如果存在这样的东西),当两者都完成时发出完成信号,没有别的。在 Rx.NET 中执行此操作的惯用方式是什么?
我习惯了Reactor Core,在这种情况下我会使用flux1.then().and(flux2.then())。但我不相信 Rx.NET 提供 then 和 and 运算符。
【问题讨论】:
-
如果其中一个序列在另一个序列完成之前失败,那么理想的行为是什么?
-
理想情况下,一旦失败就应该抛出错误。
-
在这种情况下你可能想看看这个问题:How to merge two observables with early completion
-
谢谢@TheodorZoulias。
-
jackdry 实际上内置的
Merge运算符具有您想要的行为。一旦其中一个序列失败,合并的序列也会立即失败。另一个序列,如果尚未完成,则取消订阅。
标签: c# .net system.reactive reactive rx.net