Есть ли способ экспоненциального отката с Alamofire?

Я пытаюсь реализовать экспоненциальную логику повторных попыток с Alamofire на случай, если сервер вернет 500 из-за какой-то причины для моих конечных точек.

Есть ли способ, которым я могу достичь этого с Alamofire? Пожалуйста, приведите пример.

Заранее спасибо.

2 ответа

Alamofire 5 beta 2 теперь включает поддержку автоматического повтора на основе условий ошибки с настраиваемым откатом. Взглянуть!

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

Другие вопросы по тегам