Есть ли способ экспоненциального отката с Alamofire? - PullRequest
0 голосов
/ 18 февраля 2019

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

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

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

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

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

0 голосов
/ 18 февраля 2019

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

...