在我使用AFNetworking进行网络请求之前,有没有办法取消所有网络请求(由另一种方法启动的请求) 我尝试过如下但不起作用:
- (void)sendRequest:(NSUInteger)page{
NSURL *aUrl = [NSURL URLWithString:@"http://www.abc.com/"];
AFHTTPClient *httpClientToCancel = [[AFHTTPClient alloc] initWithBaseURL:aUrl];
[httpClientToCancel cancelAllHTTPOperationsWithMethod:@"POST" path:@"product/like"];
[httpClientToCancel release];
... start a new request here .....
但不行。我只想在开始新请求之前取消所有请求(至少是我上面写的请求)。
谢谢!
答案 0 :(得分:37)
[[httpClient operationQueue] cancelAllOperations];
答案 1 :(得分:11)
不要创建新的AFHTTPClient
实例。
尝试"[self cancelAllHTTPOperationsWithMethod:@"POST" path:@"product/like"];
答案 2 :(得分:1)
其他两个答案都是正确的。不要创建新的AFHTTPRequestOperationManager实例
@interface OperateCustomerView () <WYPopoverControllerDelegate>{
AFHTTPRequestOperationManager *manager;// = [AFHTTPRequestOperationManager manager];
}
- (void)viewDidLoad {
[super viewDidLoad];
manager = [AFHTTPRequestOperationManager manager];