用于重试失败调用和取消先前调用的 javascript 模式

标签 javascript vue.js rxjs axios

我有一个基于浏览器的 Javascript 应用程序(它是一个 Vue 应用程序,但这不一定相关)在状态更改时调用服务器。如果调用失败,我会使用指数退避重试该调用。如果调用失败,并且稍后浏览器中的状态更改导致第二次调用,则第二次调用对服务器的更新稍后可能会被第一次调用的重试覆盖。

这一定是一个常见问题,但我似乎找不到任何示例或插件来处理这个问题。我目前正在使用 Axios,但我可以灵活选择。

谁能给我指出一个处理此问题的简单示例?

提前致谢!

最佳答案

在 RxJS 中你可以使用 switchMap operator这将取消以前的请求以及 some library for incremental backoff (或您自己的退避实现)

关于用于重试失败调用和取消先前调用的 javascript 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54852936/

相关文章:

javascript - 从 promise 返回的数组是未定义的

methods - 在 vueJs 的计算属性中使用方法

javascript - Vue.js如何向模态窗口添加索引

javascript - 由于 Observable 订阅发生在组件上,因此我很难将逻辑重构到 Angular 2 应用程序的服务层中

javascript - 在 spring mvc 中通过 AngularJs 提交表单

javascript - 如何实时压缩javascript?

javascript - anime.js:如何反转 svg 变形

angular - 如何发出 Observable 然后限制订阅

javascript - 带有 setInterval 的 Angular 2 Observable 未使用异步管道在模板中更新

javascript - 我只想从下拉列表中选择数字,但在列表中它具有相同的值字母数字和数字在 Cypress