当前位置: 首页 > 知识库问答 >
问题:

uniapp(vue2):用户数据用的vuex设置,在应用启动方法onLaunch开始获取。请问我在页面onLoad事件中获取vuex中的user数据时,如何等待user获取成功后再往下执行?

漆雕伟志
2024-10-09

我在使用uniapp(vue2)开发小程序,用户数据用的vuex设置,在应用启动方法onLaunch开始获取。请问我在页面onLoad事件中获取vuex中的user数据时,如何等待user获取成功后再往下执行?

  1. 在App.vue中,使用Promise封装登录接口的调用,并在登录成功后返回一个resolve。
    此方法可以实现,但是如果我有多个启动参数呢?比如有user、config,是要设置多个Promise?比如,我要等待user的时候就监听user的Promise?
  2. 轮询,如果user为空时,递归查询,一直到查询出结果
请问是否还有其他好的处理方案,因为我不是前端出身,想看看各位前端大佬有什么好的处理方式

共有1个答案

潘涵煦
2024-10-09

写 vue 这类响应式框架,要更改写代码的习惯。你需要考虑的不是等待 user 获取到,而是需要考虑,还没有获取到 user 时页面要如何展示。

你可以在 app.vue 最外层的 view 上增加一个 v-if="user" ,这样只有 user 信息到达之后才会开始渲染页面。


  1. 可以设置多个 promise ,分别获取并写入 vuex 中即可。
  2. 如果后端服务比较稳定,那么最好的方式是提供用户一个手动出发的入口,比如下拉刷新之类的。使用轮询的话也可以,但是要注意控制好轮询的时间并及时清除 timer 。
 类似资料:
  • 我正在通过Vuex商店中的axios从外部API获取数据,它为我提供了一个包含对象的数组——比方说——。 每个都有一个,我需要用它获取城市详细信息。我想将这个details对象作为一个新键添加到数组中。 现在我正在获取所有城市,并使用另一个Vuex操作获取城市详细信息。 所有城市的行动 获取所有城市后的变异 数组中的每个对象都有一个,我正在用它获取这个城市的详细信息。 我试图在动作中循环数组,以获

  • 我用VueX,store.js 注释列表组件: 注释信息组件: 备注信息组件无法从备注列表中获取第一个对象

  • 我完成了一个使用create-react-app(CSR)创建的React应用程序的编码,但我现在正在使用Next.js框架重写整个应用程序,以获得更好的SEO性能。 在重写它时,我遇到了一些困难,想知道如何正确地处理redux和redux-saga来执行获取和存储数据的过程。在本项目中使用Next.js的主要原因是利用getInitialProps方法,在第一次页面加载发生之前在服务器端获取数据

  • 我在redux存储中有一个状态,当从后端提取数据时,变为true,因此当标志为时,我想禁用不带的。 我找到了一些答案(使用jQuery和CSS),但它们与DOM中的特定元素相关。 我想禁用所有的click事件。

  • 问题内容: 我正在尝试让我的函数返回http get请求,但是,无论如何,它似乎在?scope中丢失了。我对Node.js不熟悉,因此不胜感激 问题答案: 当然,您的日志会返回:您在完成请求之前先进行日志。问题不是范围,而是 异步性 。 是异步的,这就是为什么它将回调作为参数的原因。做您在回调中要做的事情(传递给的):

  • 本文向大家介绍vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据,包括了vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据的使用技巧和注意事项,需要的朋友参考一下 在vue项目中组件间相互传值或者后台获取的数据需要供多个组件使用的情况很多的话,有必要考虑引入vuex来管理这些凌乱的状态,今天这边博文用来记录这一整个的过程,后台api接口是使用webpac