gpt4 book ai didi

ios - 可以重试 ASIHTTPRequest 吗?

转载 作者:可可西里 更新时间:2023-11-01 05:39:09 28 4
gpt4 key购买 nike

有没有办法重试 ASIHTTPRequest?我在 REST 服务中使用自定义身份验证而不是基本 HTTP 身份验证,如果 session 已过期,我想重试请求。第二次对请求调用 startAsynchronous 会导致异常。我想做这样的事情:

[request setCompletionBlock:^{
if ([request responseStatusCode] == 500)
{
// try to login again in case token expired
[server loginAndRetryRequest:request];
} else {
// parse response
}
}];

loginAndRetryRequest:将执行另一个 ASIHTTPRequest 以登录,当它完成时,它将从它的 CompletionBlock 再次启动原始请求(假设这是可能的)?

最佳答案

应该可以复制请求,然后在副本上再次执行 -startAsynchronous

在 1.5 版中添加了对 NSCopying 协议(protocol)的支持,其中还包括超时时的自动重试(选择器 -setNumberOfTimesToRetryOnTimeout:

另一个选项可能是检查他们的源代码以查看在超时的情况下自动重试是如何完成的,但是复制和重新发出请求应该可以工作(这就是首先添加对 NSCopying 的支持的原因)。

关于ios - 可以重试 ASIHTTPRequest 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6062178/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com