首页 > 解决方案 > 用于重试失败调用和取消先前调用的 javascript 模式

问题描述

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

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

任何人都可以指出一个处理这个问题的简单例子吗?

提前致谢!

标签: javascriptvue.jsrxjsaxios

解决方案


在 RxJS 中,您可以使用将取消先前请求的switchMap运算符以及一些用于增量退避(或您自己的退避实施)的库


推荐阅读