AFNetworking 识别失败原因:用户取消请求或网络故障

Posted

技术标签:

【中文标题】AFNetworking 识别失败原因:用户取消请求或网络故障【英文标题】:AFNetworking identify reason of failure: User cancel request or network failure 【发布时间】:2014-03-27 07:54:21 【问题描述】:

我正在使用AFNetworking 发出网络请求。请求失败块failure:^(AFHTTPRequestOperation *operation, NSError *error)在两种情况下被调用,

    当请求因网络连接问题而失败时。 当我取消正在进行的请求时。

在故障块代码中,我无法区分上述两个原因。仅当请求因网络问题而失败时,我才需要区分以提供自定义通知。

如何正确识别请求失败的原因?

【问题讨论】:

【参考方案1】:

我相信error.code 的值将等于方案 1 中的 NSURLErrorNotConnectedToInternet (-1009) 和方案 2 中的 NSURLErrorCancelled (-999)。

这是一个例子:

failure:^(AFHTTPRequestOperation *operation, NSError* error)                   
    if(error.code == NSURLErrorNotConnectedToInternet) 
        // handle scenario 1
     else if(error.code == NSURLErrorCancelled) 
        // handle scenario 2
     else 
        // handle unexpected errors
             

【讨论】:

这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post。 @PeterFoti 这样更好吗?

以上是关于AFNetworking 识别失败原因:用户取消请求或网络故障的主要内容,如果未能解决你的问题,请参考以下文章

友盟分享QQ成功,回调却报失败或取消的原因

AFNetworking 可以处理请求队列吗?

为啥华为手机安装应用的时候会提示安装失败而且安装失败的原因是CPU不兼容?

AFNetworking AFHTTPClient 成功和失败的不同内容类型

为啥人脸识别一直失败

AFNetworking 和自动建议