使用AFN的AFHTTPSessionManager 如何停止当前的请求
我的每一个HTTP请求都是调用下面的这个函数的,每个页面都会有多个这样的请求,我想在页面离开的时候停止调用,请问我应该如何操作?
+(void)requestWithUrl:(NSString* )url
param:(NSDictionary*)param
completionHandle:(NetworkFetcherCompletionHandle)completion
failureHandle:(NetworkFetcherErrorHandle)failure
{
AFHTTPSessionManager *session = [AFHTTPSessionManager manager];
session.requestSerializer.timeoutInterval = 60;// 请求超时时间是60秒
[session.requestSerializer setValue:@"" forHTTPHeaderField:@"lat"];
[session.requestSerializer setValue:@"" forHTTPHeaderField:@"lng"];
if (param != nil) { // 参数不为空的时候
[session POST:url parameters:param progress:^(NSProgress * _Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
//DLog(@"data: %@",responseObject);
if (completion) {
completion(responseObject);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);
}
}];
}else{ // 参数为空的时候
[session POST:url parameters:param progress:^(NSProgress * _Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if (completion) {
completion(responseObject);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);
}
}];
}
}