Csharp/C#教程:在Rx中是否有等效的Task.ContinueWith运算符?分享


在Rx中是否有等效的Task.ContinueWith运算符?

在Rx中是否有等效的Task.ContinueWith运算符?

我在Silverlight上使用Rx,我使用FromAsyncPattern方法进行两次webservice调用,我想同步执行它们。

var o1 = Observable.FromAsyncPattern(client.BeginGetData, client.EndGetData); var o2 = Observable.FromAsyncPattern(client.BeginGetData, client.EndGetData); 

是否只有在 o1返回Completed 才会启动/订阅o2的运算符(如Zip)?
我以同样的方式处理任一Web服务调用失败。

是的,它被称为投影:

 o1().SelectMany(_ => o2()).Subscribe(); 

虽然Alex是对的,但另一种方法是:

 Observable.Concat( o1(4), o2(6)) .Subscribe(x => /* Always one, then two */); 

这保证o2仅在o1之后运行 – 而不是Merge,它将同时运行它们:

上述就是C#学习教程:在Rx中是否有等效的Task.ContinueWith运算符?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 Observable.Merge( o1(4), o2(6)) .Subscribe(x => /* Either one or two */); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1020451.html

(0)
上一篇 2022年1月4日
下一篇 2022年1月4日

精彩推荐