Tamicer / Novate

A safety client by Https for android, (Android网络框架,基于Retrofit和RxJava打造的链式网络库, 支持okhttp的调用风格,又兼容Retrofit API,并支持rxJava链式操作)
Apache License 2.0
1.43k stars 268 forks source link

取消请求传参问题 #84

Open BlainPeng opened 6 years ago

BlainPeng commented 6 years ago

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

Tamicer commented 6 years ago

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

BlainPeng commented 6 years ago

不是的。我只要取消一个网络请求就可以了。 你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必须保持一致,好像也太限制了。