Swift 是否有一种使用Alamofire进行指数退避重试的方法

Swift 是否有一种使用Alamofire进行指数退避重试的方法,swift,alamofire,exponential-backoff,Swift,Alamofire,Exponential Backoff,我正试图用Alamofire实现指数退避重试逻辑,以防服务器由于我的某些端点的原因返回500 有没有一种方法可以让我用Alamofire做到这一点?请举例说明 提前感谢。是的,它非常简单,尽管我不相信Alamofire本机提供了它。但是,由于库确实允许您发出网络请求,因此,如果出现500错误而失败,则可以通过指数退避进行重试。具体地说,在Alamofire请求的完成块中,检查状态代码,如果是500,请在延迟后重试。该延迟应该存储在网络管理器级别的某个单例中,并随着故障的发生,按照您喜欢的指数延迟

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

有没有一种方法可以让我用Alamofire做到这一点?请举例说明


提前感谢。

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

是的,这非常简单,尽管我不相信Alamofire本机提供了它。但是,由于库确实允许您发出网络请求,因此,如果出现
500
错误而失败,则可以通过指数退避进行重试。具体地说,在
Alamofire
请求的完成块中,检查状态代码,如果是
500
,请在延迟后重试。该延迟应该存储在网络管理器级别的某个单例中,并随着故障的发生,按照您喜欢的指数延迟曲线增加。当您的请求成功时,应该将其重置为基本延迟。

现在支持基于错误条件的自动重试,并提供可定制的回退功能。看一看

现在包括对基于错误条件的自动重试的支持,以及可定制的回退。看一看