局部結果我有兩個方法都返回的IObservable相結合的可能(超時/錯誤)異步網頁結果
IObservable<Something[]> QueryLocal();
和
IObservable<Something[]> QueryWeb();
QueryLocal總是成功的。 QueryWeb容易出現超時和可能的網絡錯誤。
我希望實現一個QueryLocalAndWeb(),它可以調用並組合它們的結果。 到目前爲止,我有:
IObservable<Something[]> QueryLocalAndWeb()
{
var a = QueryLocal();
var b = QueryWeb();
var plan = a.And(b).Then((x, y) => x.Concat(y).ToArray());
return Observable.When(plan).Timeout(TimeSpan.FromSeconds(10), a);
}
但是,我不知道它處理這樣的情形QueryWeb產生錯誤的情況。 將來我可能會有一個QueryWeb2(),這也需要考慮。
那麼,如何組合來自大量IObservables的結果,而忽略那些拋出錯誤(或超時)的結果呢?
看起來很有趣,雖然很容易混淆命名爲 如果拋出會發生什麼?它會傳播嗎? –