是否有一个等同于任务的.Rx中的ContinueWith操作符



是否有对应的Task ?ContinueWith操作符在Rx?

我使用Rx与Silverlight,我用FromAsyncPattern方法做两个web服务调用,我想做他们同步。

        var o1 = Observable.FromAsyncPattern<int, string>(client.BeginGetData, client.EndGetData);
        var o2 = Observable.FromAsyncPattern<int, string>(client.BeginGetData, client.EndGetData);

是否存在操作符(如Zip),仅在 o1返回Completed后才启动/订阅o2 ?
我以同样的方式处理两个web服务调用的失败

是的,这叫做投影:

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

Alex是对的,另一种方法是:

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

这保证了o2只在o1之后运行,而不是Merge,这会同时运行它们:

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

相关内容

  • 没有找到相关文章

最新更新