Ho un sacco di posti nel codice in cui vengono gestite richieste/risposte di Alamofire.C'è un modo per fare richieste Alamofire con tentativi
Ciascuna di queste richieste potrebbe non riuscire a causa di alcuni problemi intermittenti (il più comune è la rete instabile).
Vorrei essere in grado di riprovare le richieste 3 volte prima del salvataggio.
Il metodo semplice sarebbe quello di avere una cosa del genere
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()
}
}
Tuttavia, non mi piace questo approccio molto per diverse ragioni. Il più ovvio è che avrò bisogno di implementare tale codice per ogni tipo di richiesta (e ne ho qualcosa come 15).
Sono curioso se c'è modo per fare qualcosa di simile (dove i cambiamenti sono minimi e non invadente)
let request = Alamofire.request(..., **3**)
Potrebbe fare un wrapper che prende la richiesta come un blocco di fine?Quindi, invece di chiamare direttamente la richiesta, hai lo stesso codice di richiesta nel blocco ma chiama il wrapper? Rende più facile cambiare il codice. – Carlos
Carlos. Penso che tu abbia ragione. Ho trascurato questo :). Vuoi scrivere come risposta? –
Certo, dammi un po 'di tempo e lo farò – Carlos