我可以简化使用Observable.Create从json请求返回对象

 手浪用户2602925023 发布于 2023-02-12 09:56

我一直在这样做我的网页请求:

public IObservable GetFoo(string fooId)
{
    var uri = /* set up the GET query parameters here */;

    return Observable.Create(
        obs => new HttpClient().GetAsync(uri)
            .ToObservable()
            .Subscribe(response =>
            {
                try
                {
                    response.EnsureSuccessStatusCode();

                    response.Content.ReadAsStringAsync()
                        .ToObservable()
                        .Select(JObject.Parse)
                        .Select(json => new Foo(json))
                        .Subscribe(foo =>
                        {
                            obs.OnNext(foo);
                            obs.OnCompleted();
                        });
                }
                catch (Exception e)
                {
                    obs.OnError(e);
                }
            }));

}

但是,我觉得作为Rx的一个相对较新的人,我可能会错过一些简化我所写内容的方法.看起来外部Observable只是内部的一个包装,我可以(不知何故)揭露它,而不是 - 我只是不知道如何.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有