Gibt es eine Möglichkeit, das zu tun Alamofire Anfragen mit Wiederholungen

Habe ich viele stellen im code, wo Alamofire Anfrage/Antwort behandelt werden.

Jede dieser Anfragen kann Versagen, weil einige intermittierende problem (die häufigste ist flockig-Netzwerk).

Ich würde gerne in der Lage sein, um erneut Anfragen 3 mal, bevor die Rettung.

Die einfache Methode wäre, um mit so etwas wie, dass

var errorCount = 0
func requestType1() {
   let request = Alamofire.request(...).responseJSON { response in
       if (isError(response) && errorCount < 3) {
          errorCount += 1
          request1()
       } 
       if (isError(response)) {
          handleError()
       }

       handleSuccess()
   }
}

Allerdings gefällt mir dieser Ansatz EINE MENGE aus mehreren Gründen. Der offensichtlichste ist, dass ich die Notwendigkeit zur Umsetzung solcher code für jeden request-Typ (und ich habe so etwas wie 15).

Ich bin gespannt, ob es Weise ist, etwas zu tun (wo die Veränderungen sind minimal und nicht aufdringlich)

let request = Alamofire.request(..., **3**) 
  • Könnte man einen wrapper, der die Anforderung als eine Endung zu sperren? Also dann statt die Anfrage direkt, Sie haben die gleiche request-code in den block, sondern rufen Sie den wrapper? Macht es einfacher den code zu ändern.
  • Carlos. Ich glaube, Sie haben Recht. Ich dies übersehen :). Wollen Sie schreiben, als Antwort?
  • Sicher, gib mir ein bisschen Zeit, und ich werde tun, dass
  • Sie erklären, wie Sie es bekam?
InformationsquelleAutor Victor Ronin | 2016-05-24
Schreibe einen Kommentar