ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Rxjava网络嵌套

2019-06-27 17:11:19  阅读:287  来源: 互联网

标签:headMap string responseBody put 网络 嵌套 Rxjava new public


public void lastRequest(final HttpListener mHttpListener) {
    Map<String, String> map = new HashMap<>();
    map.put("phone", "13568574500");
    map.put("pwd", "123456");
    final Observable<ResponseBody> post = this.httpService.post("small/user/v1/login", map);
    post.subscribeOn(Schedulers.io())
            .observeOn(Schedulers.io())
            .doOnNext(new Consumer<ResponseBody>() {
                @Override
                public void accept(ResponseBody responseBody) {
                    try {
                        String string = responseBody.string();
                        Gson gson = new Gson();
                        LoginBean loginBean = gson.fromJson(string, LoginBean.class);
                        headMap = new HashMap<>();
                        headMap.put("userId", loginBean.getResult().getUserId() + "");
                        headMap.put("sessionId", loginBean.getResult().getSessionId());
                        JSONObject object = new JSONObject();
                        object.put("commodityId", 5);
                        object.put("count", 156);
                        JSONArray array = new JSONArray();
                        array.put(object);
                        Log.e("jsonStri", array.toString());
                        put = HttpUtils.this.httpService.put("small/order/verify/v1/syncShoppingCart", headMap, array.toString());
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }).subscribeOn(Schedulers.io())
            .flatMap(new Function<ResponseBody, ObservableSource<ResponseBody>>() {
                @Override
                public ObservableSource<ResponseBody> apply(ResponseBody responseBody) {
                    return put;
                }
            }).doOnNext(new Consumer<ResponseBody>() {
        @Override
        public void accept(ResponseBody responseBody) {

            try {
                Gson gson = new Gson();
                JoinShopping joinShopping = gson.fromJson(responseBody.string(), JoinShopping.class);
                if (joinShopping.getStatus().equals("0000")) {
                    Log.e("加入购物车成功", "----");
                    shopping = HttpUtils.this.httpService.get("small/order/verify/v1/findShoppingCart", headMap);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }).flatMap(new Function<ResponseBody, ObservableSource<ResponseBody>>() {
        @Override
        public ObservableSource<ResponseBody> apply(ResponseBody responseBody) {
            return shopping;
        }
    }).subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Consumer<ResponseBody>() {
                @Override
                public void accept(ResponseBody responseBody) {
                    try {
                        mHttpListener.success(responseBody.string());
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            });

}

标签:headMap,string,responseBody,put,网络,嵌套,Rxjava,new,public
来源: https://blog.csdn.net/qq_43577742/article/details/93890433

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有