16

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

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

谢谢!

4

3 回答 3

37

[[httpClient operationQueue] cancelAllOperations];

于 2012-06-18T01:33:14.673 回答
11

不要创建新AFHTTPClient实例。

尝试"[self cancelAllHTTPOperationsWithMethod:@"POST" path:@"product/like"];

于 2012-10-08T11:10:51.693 回答
1

其他两个答案都是正确的。不要创建新的 AFHTTPRequestOperationManager 实例

        @interface OperateCustomerView () <WYPopoverControllerDelegate>{

        AFHTTPRequestOperationManager *manager;// = [AFHTTPRequestOperationManager manager];
    }
- (void)viewDidLoad {
    [super viewDidLoad];
    manager = [AFHTTPRequestOperationManager manager];
于 2014-12-23T07:23:45.637 回答