有没有办法重试 ASIHTTPRequest?我在 REST 服务中使用自定义身份验证而不是基本 HTTP 身份验证,并且我想在会话过期时重试请求。对请求第二次调用 startAsynchronous 会导致异常。我想做这样的事情:
[request setCompletionBlock:^{
if ([request responseStatusCode] == 500)
{
// try to login again in case token expired
[server loginAndRetryRequest:request];
} else {
// parse response
}
}];
loginAndRetry 请求:将执行另一个 ASIHTTPRequest 来登录,完成后它将从其完成块再次启动原始请求(假设这在某种程度上是可能的)?
应该可以复制请求然后执行-startAsynchronous
再次在副本上。
1.5 版本中添加了对 NSCopying 协议的支持,其中还包括超时时自动重试(选择器-setNumberOfTimesToRetryOnTimeout:
.
另一种选择可能是检查其源代码,以了解在超时情况下如何自动重试,但复制和重新发出请求应该可以工作(这就是首先添加对 NSCopying 支持的原因)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)