我有兩個IObservable<T>,并且想要創建一個IObservable<Unit>(或某種ISingle<Unit>,如果存在這樣的東西),當兩者都完成時發出完成信號,沒有別的。在 Rx.NET 中這樣做的慣用方法是什么?
我習慣了Reactor Core,在這種情況下我會使用flux1.then().and(flux2.then()). 但我不相信 Rx.NET 提供then和and運營商。
uj5u.com熱心網友回復:
假設兩個序列的型別相同,您可以使用Merge運算子。IgnoreElements為了減少與合并可能包含大量元素的序列相關的同步壓力,將它們混合可能是有益的。
IObservable<Unit> completion = sequence1.IgnoreElements()
.Merge(sequence2.IgnoreElements())
.Select(_ => Unit.Default);
如果序列的型別不同,您可以IObservable<Unit>在合并之前將它們中的每一個投影到,或者使用CombineLatest代替Merge。很多選擇。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/341579.html
上一篇:制作Type物件副本的簡單方法
