我正在尝试使用 Alamofire 实现指数回退重试逻辑,以防服务器由于某些端点的某些原因返回 500。
有没有办法可以用 Alamofire 实现这一目标?请举例指导。
提前致谢。
我正在尝试使用 Alamofire 实现指数回退重试逻辑,以防服务器由于某些端点的某些原因返回 500。
有没有办法可以用 Alamofire 实现这一目标?请举例指导。
提前致谢。
Alamofire 5 beta 2现在支持基于错误条件的自动重试和可自定义的退避。看一看!
是的,它非常简单,尽管我不相信Alamofire
它原生提供。但是,由于该库确实允许您发出网络请求,因此如果您因错误而失败,只需使用指数退避重试即可500
。具体来说,在您的请求的完成块中Alamofire
,您检查状态码,如果是500
,则延迟后重试。该延迟应该存储在网络管理员级别的某个单例中,并随着故障的发生沿着您喜欢的指数延迟曲线增加。当您的请求成功时,它应该被重置为基本延迟。