3

如何在 angular.js 中使用指数回退实现重试逻辑?

  1. 逻辑的正确位置是在 $httpProvider.requestInterceptors 中吗?
  2. 我可以选择性地将它与某些 $http 服务一起使用而不是其他服务吗?
4

2 回答 2

2

这是一个旧帖子,但这是我的想法。我会用一个responseInterceptor. 由于您可以返回另一个承诺,因此您可以决定如何重试。您可以访问拦截器中的 $http config,因此您可以添加特殊配置来确定回退应该是什么(或者是否应用重试逻辑)。

于 2013-10-10T07:27:58.607 回答
1

对于即将到来的人:使用一些预先可用的组件和模块似乎更 Angular。因此,您可以尝试其中一种backo2angular-backoff

每个链接都有用法。但是不要使用 setTimeout,它不是那么 Angular,你应该使用 $interval 或 $timeout。

于 2016-05-19T06:48:20.547 回答