Есть ли способ экспоненциального отката с Alamofire?
Я пытаюсь реализовать экспоненциальную логику повторных попыток с Alamofire на случай, если сервер вернет 500 из-за какой-то причины для моих конечных точек.
Есть ли способ, которым я могу достичь этого с Alamofire? Пожалуйста, приведите пример.
Заранее спасибо.
2 ответа
Alamofire 5 beta 2 теперь включает поддержку автоматического повтора на основе условий ошибки с настраиваемым откатом. Взглянуть!
Да, это довольно просто, хотя я не верю Alamofire
обеспечивает это изначально. Так как библиотека действительно позволяет вам делать сетевые запросы, довольно просто просто повторить попытку с экспоненциальным откатом, если вы потерпите неудачу с 500
ошибка. Конкретно, в блоке завершения вашего Alamofire
запросы, вы проверяете код состояния, и если это 500
Повторите попытку после задержки. Эта задержка должна храниться в каком-то единичном блоке на уровне вашего сетевого менеджера и увеличиваться по кривой экспоненциальной задержки по вашему вкусу при возникновении сбоев. Затем ваш запрос должен быть сброшен до базовой задержки.