有沒有這種速記版本。我想調用一個序列,然後在完成時調用另一個序列。Chaining Observable訂閱
var seq1 = Observable.Range(1, 20);
var seq2 = Observable.Range(21, 20);
seq1.Subscribe(
i => Console.WriteLine(i),
() => seq2.Subscribe(i => Console.WriteLine(i)));
有沒有這種速記版本。我想調用一個序列,然後在完成時調用另一個序列。Chaining Observable訂閱
var seq1 = Observable.Range(1, 20);
var seq2 = Observable.Range(21, 20);
seq1.Subscribe(
i => Console.WriteLine(i),
() => seq2.Subscribe(i => Console.WriteLine(i)));
對我來說,你不是完全清楚你想要做什麼(而且我沒有文檔)但是Observables.Concat你在做什麼?
var seq1 = Observable.Range(1, 20);
var seq2 = Observable.Range(21, 20);
var both = seq1.Concat(seq2);
both.Subscribe(i => Console.WriteLine(i));
(我只是檢查了這一點實際工作:)
由於他有20個seq1的結尾,21個seq2的開始,因此Concat是正確的。 – 2010-03-03 00:19:24
不要試圖做任何事情,而是讓2個可觀察對象一個接一個地執行。這似乎是做我想在這種情況下,但如果2可觀察到哪裏不同類型? – 2010-03-03 07:22:21
@kouPhax:我不完全確定你會如何使用它。你能舉一個你想要*能寫的東西的例子嗎? – 2010-03-03 09:02:37
我在做類似的東西,並預計將在內部認購例外咬我,直到我想出了這一點:http://stackoverflow.com /問題/ 11769602 /自誤差依賴,自處置-的模式的IObservable的訂閱/ 11770674#11770674。不知你自己是否有這樣的問題,或者知道有一種不同的,也許是內置的方法來阻止觀察者異常一直冒泡到觀察者。 – 2012-08-02 05:50:09