v2ex icon indicating copy to clipboard operation
v2ex copied to clipboard

V2DataManager中如何取消先前的请求

Open zltqzj opened this issue 10 years ago • 2 comments

V2DataManager中,我想某一个网络请求进行之前,先取消之前的这个请求。类似第二次点击查询按钮,第二次点击的时候,把第一次的同样请求先取消掉~请问该如何做? 谢谢。

zltqzj avatar Sep 14 '15 10:09 zltqzj

得维持一个队列吧,比如对 /user/login 有正在进行的操作,再来一个 /user/login 的请求就丢掉一个。

SeanChense avatar Sep 14 '15 10:09 SeanChense

V2DataManager 里的接口都是返回 NSURLSessionDataTask, 只要在 VC 里持有它就可以 cancel, 同一个界面再次调用同样接口时 cancel 之前的再发起新的请求就可以。另外,也可以如 @SeanChense 所说,维持一个队列, AFHTTPSessionManager 里就有,可以加入判断来在这一层处理重复请求。

singro avatar Sep 14 '15 11:09 singro