有没有这种速记版本。我想调用一个序列,然后在完成时调用另一个序列。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