Novate icon indicating copy to clipboard operation
Novate copied to clipboard

取消请求传参问题

Open BlainPeng opened this issue 6 years ago • 2 comments

我想取消一个rxGet请求,根据你的注释,此方法返回一个Subscription,那么此方法的第四个参数ResponseCallback<T, ResponseBody>中的T类型只能够为Subscription,并且其它类型如RxStringCallback等其它类型都不能传了?那我只能够在onHandleResponse方法中自己重新解析了。那么里面的onNext方法好像没有什么作用了吧?那为什么返回值不直接写成Subscription了?

BlainPeng avatar Jul 13 '18 09:07 BlainPeng

你是要知道取消回调结果吗?

Tamicer avatar Aug 02 '18 05:08 Tamicer

不是的。我只要取消一个网络请求就可以了。 你demo中RxApiManager.get().add("test", subscription);, 然后RxApiManager.get().cancel("test"); rxGet的返回类型T与参数ResponseCallback<T, ResponseBody>保持一致,而取消请求都是通过Subscription来操作。所以这个T的类型只能够为Subscription了。这个T的类型是不是太限制了?

rxDelete方法的第三个参数Map<String, T> maps,你方法内部有把这个maps转成Map<String, Object>,但暴露出去的这个T与第三个参数ResponseCallback<T, ResponseBody> callBack中的T必须保持一致,好像也太限制了。

BlainPeng avatar Aug 02 '18 06:08 BlainPeng