我正在使用 AFNetworking
发出网络请求。请求失败 block failure:^(AFHTTPRequestOperation *operation, NSError *error)
在两种情况下被调用,
- 当请求因网络连接问题而失败时。
- 当我取消正在进行的请求时。
在失败 block 代码中,我无法区分上述 2 个原因。我需要区分仅在由于网络问题导致请求失败时才提供自定义通知。
如何正确判断请求失败的原因?
最佳答案
我相信在场景 1 中 error.code
的值将等于 NSURLErrorNotConnectedToInternet
(-1009) 和 NSURLErrorCancelled
(-999 ) 在场景 2 中。
这是一个例子:
failure:^(AFHTTPRequestOperation *operation, NSError* error) {
if(error.code == NSURLErrorNotConnectedToInternet) {
// handle scenario 1
} else if(error.code == NSURLErrorCancelled) {
// handle scenario 2
} else {
// handle unexpected errors
}
}
关于ios - AFNetworking 识别失败原因 : User cancel request or network failure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22681333/