首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何判断TWRequest performRequestWithHandler失败或成功

如何判断TWRequest performRequestWithHandler失败或成功
EN

Stack Overflow用户
提问于 2012-08-23 23:39:16
回答 1查看 812关注 0票数 2

我正在发布一个请求,并检查这样的错误:

代码语言:javascript
复制
// Send request out on a background thread
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) {
    [postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
        if ([urlResponse statusCode] == 200) {
            NSLog(@"Tweet Successful");
        }else {
            NSLog(@"Tweet Failed");
            if (responseData) {
                //  Use the NSJSONSerialization class to parse the returned JSON
                NSError *jsonError;
                NSArray *requestResponse =
                [NSJSONSerialization JSONObjectWithData:responseData
                                                options:NSJSONReadingMutableLeaves
                                                  error:&jsonError];

                if (requestResponse) {
                    NSLog(@"%@",requestResponse);
                } else {
                    NSLog(@"%@",jsonError);
                }
            }
        }
    }];
});

就这项要求而言,它似乎运作得很好。我的意图是在失败时排队,稍后再试一次,或者不取决于错误和迄今为止有多少次尝试失败。我遇到的问题是,我发现它似乎经常失败,错误34“页面找不到”,其中的请求实际上是成功的,是按预期发布的,可以在twitter流中看到清晰的一天。

现在,如果我不能信任返回的错误代码,那么我就不能继续并继续重试。我如何确定它是成功还是失败?

最近的意见:

最近,我试图直接发布一张来自苹果照片应用程序的照片,它给我发了一个警告,上面写着"Tweet可能没有成功“。这很有趣,因为在这种情况下,这基本上是我唯一的选择。这让我觉得,即使是苹果也不得不承认,当回复没有证实时,没有办法确定帖子失败了。

EN

回答 1

Stack Overflow用户

发布于 2012-09-27 22:16:46

根据在研究这个问题时发现的每一个例子,除了您正在使用的API之外,所有这些API都没有使用任何其他API,并包括将照片发布到API中的这个例子来自twitter自己的文档,它们中没有人首先检查urlResponse代码。

似乎做的最多的是这个例子来自twitter的文档,在这里执行GET,然后处理响应。请注意,它首先检查responseData,如果它存在,则简单地将其视为成功。只有在没有responseData的情况下,才会有麻烦地查看错误。该示例不需要使用urlResponse…。我在10分钟的谷歌搜索中也没有看到任何其他的例子。

(最后,我怀疑这是否重要,或者可能是因为您清理了显示的示例,但是在不执行任何UI时,您正在处理主队列上的错误。您可以立即在处理程序中进行处理,并将所做的任何后处理传递给任何试图用它显示的UI。我怀疑后处理主队列中的响应,而不是处理处理程序的队列(在这里引用的两个例子和我看到的所有其他示例中都显示了这一点)是否真的会造成问题,但我想知道它是否可以减少您所看到的错误否定的发生率。至少,它将使您的响应和响应的任何UI显示更加干净和高效。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12101433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档