重试请求5次并显示错误消息

时间:2016-03-05 19:16:27

标签: ios swift

我使用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 ->
        }
    }
}

1 个答案:

答案 0 :(得分:0)

看起来像一个重复6次的计时器,一个带有一些索引的函数就可以了。 如果您成功只是使计时器无效。 如果使用索引6调用该函数,则显示警报