勇敢的心_
勇敢的心_
  • 发布:2024-10-09 11:17
  • 更新:2024-10-09 14:12
  • 阅读:97

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

分类:uni-app

已有的两个解决方案

① 在App.vue中,使用Promise封装登录接口的调用,并在登录成功后返回一个resolve。此方法可以实现,但是如果我有多个启动参数呢?比如有user、config,是要设置多个Promise?比如,我要等待user的时候就监听user的Promise?

② 轮询,如果user为空时,递归查询,一直到查询出结果

请问是否还有其他好的处理方案,因为我不是前端出身,想看看各位前端大佬有什么好的处理方式

2024-10-09 11:17 负责人:无 分享
已邀请:
BeardYound

BeardYound

async onLoad() {  
var parameter1 =false  
var parameter2 =false  
var parameter3 =false  
var parameter4 = ''  
                await this.parameter1().then( res => { // Promise验证返回  
                    parameter1  = true  
                } ).catch( err => {} )  
if(parameter1){  
 parameter2 = await this.parameter2() // return返回  
}else {  
parameter3 = await this.parameter3() // return返回  
}  

                await this.parameter4().then( res => { // Promise验证返回  
                    var parameter4 = res  
                } ).catch( err => {} )  
                //若干前置参数获取...  
                if (  (parameter2 || parameter3) && parameter4 ) {  
                    console.log( "验证成功" )  
                } else {  
                    console.log( "验证失败" )  

                }  
            },

执行顺序就按写的顺序执行

124或者134

  • 勇敢的心_ (作者)

    这个我明白,如果结合vuex呢?怎么处理比较好?

    2024-10-09 15:11

要回复问题请先登录注册