如何使用 Moya 框架重试请求

Posted

技术标签:

【中文标题】如何使用 Moya 框架重试请求【英文标题】:How to retry request using Moya framework 【发布时间】:2018-06-16 17:31:13 【问题描述】:

我正在尝试集成 Moya,它被发现是设计网络层的一个很好的框架。我被困在如何重试网络请求。当我们收到错误时,是否可以从 Moya 提供程序获取请求变量?请注意,我正在寻找 swift 而不是 Rxswift 的答案

【问题讨论】:

【参考方案1】:

我遇到了同样的问题。根据最新的 Moya API,如果网络任务失败,将无法重新调用网络任务。 它只返回Cancellable 类型,它允许您检查任务是否正在执行-isCancelled,或cancel() 请求。 如果您只需要 urlRequest 对象,请参阅this 答案以获取详细信息。但如果你真的需要实现“重试”功能,你必须在中间 Moya 包装器中存储 route 变量和完成闭包,并在需要时调用重新运行它。

【讨论】:

以上是关于如何使用 Moya 框架重试请求的主要内容,如果未能解决你的问题,请参考以下文章

我们如何使用 Moya 调试/查看通过 API 设置的请求?

Moya rxswift : 刷新令牌并重启请求

使用 Moya 获取响应标头

Alamofire 重试请求 - 反应方式

如何在不发送请求的情况下拦截 Moya 请求并返回失败响应

如何在 moya 中通过 POST 请求传递 JSON 正文