如何通过afnetworking取消网络请求

时间:2012-06-17 09:11:03

标签: afnetworking

在我使用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 .....

但不行。我只想在开始新请求之前取消所有请求(至少是我上面写的请求)。

谢谢!

3 个答案:

答案 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];