我使用Moya框架创建了以下功能。但是,如果请求失败。我想重试请求5次,然后显示警报。实现这一目标的最佳方法是什么?
func checkToken() {
testProvider.request(.validateToken(Defaults[.accessToken], Defaults[.clientId], Defaults[.uId])) { result in
switch result {
case let .Success(response):
do {
try response.filterSuccessfulStatusCodes()
//Validate token
let storyBaord = UIStoryboard(name: "Main", bundle: nil)
let mainController = storyBaord.instantiateViewControllerWithIdentifier("TabBarController") as! TabBarController
self.navigationController?.pushViewController(mainController, animated: true)
}
catch {
//delete token and push to log in
Defaults.remove(.accessToken)
Defaults.remove(.clientId)
Defaults.remove(.uId)
self.performSegueWithIdentifier("PushToWelcomeScreen", sender: self)
}
case let .Failure(error):
//No internet connection/server error ->
}
}
}
答案 0 :(得分:0)
看起来像一个重复6次的计时器,一个带有一些索引的函数就可以了。 如果您成功只是使计时器无效。 如果使用索引6调用该函数,则显示警报