我使用 vuex 并有一个商店模块来加载我的应用程序中的例如用户列表(用于选择等)。它使用 ajax 和加载列表后,不再执行此操作(如果列表存在于 vuex 存储中)。我在主应用程序布局中这样做,但以异步方式即没有等待,没有阻塞。Ajax 请求在 vuex dispatch action 中。“加载用户”。
某些页面(例如 /users-list)需要来自此用户列表的数据,也称为“loadUsers”,但以其他方式 - 使用等待,加载后渲染页面以避免任何问题。
一切正常,如果用户打开主页面(/)然后转到用户列表(/users-lists),但是如果我们尝试直接打开用户列表,作为浏览器的第一页,“loadUsers”被调用两次 - 一次从主布局,第二个来自用户列表页面。
问题是,如何处理这个,只加载一次列表?它将在布局中调用,因此,来自用户列表页面的第二次调用也应该等待结果。但是如何做到这一点呢?代码位于不同的文件中,我不确定如何执行此操作。也在 vuex 上保存来自 ajax 调用的承诺,并将其返回给其他调用?
在时间线中,它现在看起来:
加载布局 -> 调用获取列表 -> 待处理的 ajax
加载用户列表 > 调用获取列表 - > 待处理的 ajax
从布局中获取ajax
从用户列表中获取ajax
呈现用户列表
交互式爱情
鸿蒙传说
相关分类