我在我的应用程序中使用ASIHTTP请求,我一次触发多个请求。如果任何无法获取数据,我想取消所有待处理的请求。我没有使用操作队列作为我从tableview滚动表视图发送请求。如何取消休息待处理请求而不影响成功完成的请求? 即使您没有使用NSOperationQueue或ASIHTTPOperationQueue。
答案 0 :(得分:1)
我假设你在谈论取消异步ASIHTTPRequest
?
取消异步请求,即使用[request startAsynchronous]
调用[request cancel]
启动的请求。
顺便说一下,通过取消请求ASIHTTPRequest
将其视为错误,并将调用您的委托的失败方法。如果您不想要此行为,请在调用cancel之前将委托设置为nil,或使用clearDelegatesAndCancel
方法。像这样 -
// Cancels an asynchronous request
[request cancel]
// Cancels an asynchronous request, clearing all delegates and blocks first
[request clearDelegatesAndCancel];
但是既然你在谈论多个请求,我建议你使用一个队列。然后可以使用[queue cancelAllOperations];
一次性取消请求。