2016-03-05 74 views
-1

我使用Moya Framework創建了以下函數。但是,如果請求失敗。我想重試該請求5次,然後顯示警報。達到此目的的最佳方法是什麼?重試請求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

似乎是一個重複6次的計時器,對於具有某種索引的函數來說就可以了。 如果您成功,則使計時器無效。 如果使用索引6調用該函數,則顯示警報