Rn2*_*222 4 asihttprequest ios
有没有办法重试ASIHTTPRequest?我在REST服务中使用自定义身份验证而不是基本HTTP身份验证,如果会话已过期,我想重试请求.在请求上第二次调用startAsynchronous会导致异常.我想做这样的事情:
[request setCompletionBlock:^{
if ([request responseStatusCode] == 500)
{
// try to login again in case token expired
[server loginAndRetryRequest:request];
} else {
// parse response
}
}];
Run Code Online (Sandbox Code Playgroud)
loginAndRetryRequest:将执行另一个ASIHTTPRequest登录,当它完成时,它将从它的CompletionBlock再次启动原始请求(假设这可能以某种方式)?
应该可以复制请求,然后-startAsynchronous在副本上再次执行.
版本1.5中添加了对NSCopying协议的支持,其中还包括超时情况下的自动重试(选择器-setNumberOfTimesToRetryOnTimeout:.
另一种选择可能是检查它们的源代码,以查看在超时情况下如何完成自动重试,但复制和重新发出请求应该有效(这是首先添加对NSCopying的支持的原因).
| 归档时间: |
|
| 查看次数: |
2895 次 |
| 最近记录: |