一 总结
没有常用rxjava之前,项目中存在以下一些问题。
1. 很多耗时任务直接new thread(),非常的不优雅,线程管理混乱。
2. 很多按钮快速点击,会导致请求发多次。
3. 两到三层的嵌套循环请求,callback嵌套callback,代码追踪困难。
4. 并发请求达到6 7个时,正在加载中对话框难控制,请求成功失败数量难控制,代码复杂,难扩展。
二 解决问题
public Observable<StorageInfoVo> getStorageDetailListObservable(String storageId, String orderNo, String selfEntityId){ return TDFNetworkUtils.RF.start() .url(ApiConstants.SUPPLY_INSTOCK_GET_STORAGE_DETAIL_LIST_VALUE) //设置Body中的参数 .postParam("storage_id", storageId) .postParam("order_no", orderNo) .postParam("self_entity_id", selfEntityId) //本请求是否开启mock,如果为true,且DfireClient中的mock为true,则会走mock地址,默认false //次开关用来控制当网络返回的code为0时,是否弹框显示异常信息,默认为true .enableErrorDialog(true) .build() .getObservable(new ReturnType<StorageInfoVo>() { });}
网友评论