1

我正在尝试使用 Alamofire 实现指数回退重试逻辑,以防服务器由于某些端点的某些原因返回 500。

有没有办法可以用 Alamofire 实现这一目标?请举例指导。

提前致谢。

4

2 回答 2

3

Alamofire 5 beta 2现在支持基于错误条件的自动重试和可自定义的退避。看一看!

于 2019-02-18T04:01:09.903 回答
1

是的,它非常简单,尽管我不相信Alamofire它原生提供。但是,由于该库确实允许您发出网络请求,因此如果您因错误而失败,只需使用指数退避重试即可500。具体来说,在您的请求的完成块中Alamofire,您检查状态码,如果是500,则延迟后重试。该延迟应该存储在网络管理员级别的某个单例中,并随着故障的发生沿着您喜欢的指数延迟曲线增加。当您的请求成功时,它应该被重置为基本延迟。

于 2019-02-18T01:03:26.400 回答