代码之家  ›  专栏  ›  技术社区  ›  Sergey

rx:拼凑多个iobservable web请求

  •  3
  • Sergey  · 技术社区  · 16 年前

    我正在使用iobservables和reactive扩展创建多个异步web请求。

    因此,这就为“get”web请求创建了可观察性:

                var tweetObservalue =
                from request in WebRequestExtensions.CreateWebRequest(outUrl + querystring, method)
                from response in request.GetResponseAsync()
                let responseStream = response.GetResponseStream()
                let reader = new StreamReader(responseStream)
                select reader.ReadToEnd();
    

    我能做到

    tweetObservable.Subscribe(response => dosomethingwithresponse(response));
    

    使用iobservables和linq执行多个异步web请求的正确方法是什么?这些请求必须等到其他请求完成之后才能执行?

    例如,首先我想验证用户信息:createuserinfoobservate,然后如果用户信息是正确的,我想更新统计信息,所以我得到updatestatusobservate,然后如果状态是更新的,我想创建friendshipobservate等等。

    还有一个额外的问题,我想同时执行web调用,当所有的调用都完成时,执行另一个observate,直到其他调用完成。

    谢谢您。

    1 回复  |  直到 16 年前