【发布时间】:2021-08-02 07:45:41
【问题描述】:
我的 Vue 应用程序使用 Vuex 商店。有时用户可以“重置”会话。这需要将 vuex 存储重置为默认值,因此任何挂起的异步操作都应该被删除,因为 Vuex 存储已被重置。问题是当异步调用返回时,它们会尝试修改存储,但它已被重置。当用户点击“重置”时,如何强制忽略任何挂起的异步操作。
我想回顾一下“createStore”Vuex 函数,但这导致了死胡同,因为全局存储变量已更新。
编辑:我最终传递了一个带有每个突变的 StoreID。我将这个 StoreID 值存储在所有异步操作开头的变量中。突变验证何时调用商店当前处于相同的 StoreID 版本。有没有更聪明的方法来做到这一点?
【问题讨论】:
-
这些异步操作是什么?它们是 API 调用吗?使用
axios? -
yes API 调用,例如在用户滚动时为表格获取数据。调用可能需要一段时间才能从服务器返回。
-
如果你使用 axios,请勾选这个:stackoverflow.com/questions/38329209/…