美文网首页
解决微信小程序app.js中异步请求尚未执行完成,就执行Page

解决微信小程序app.js中异步请求尚未执行完成,就执行Page

作者: 中v中 | 来源:发表于2022-03-12 12:42 被阅读0次

    问题描述:在app.js中执行login请求获取token,home.js中的请求会出现不带token的情况。

    原因:app.js中的login请求是异步操作,所以会出现执行home.js中请求的时候,login请求还未执行完成,因此获取不到token。

    解决方法:在app.js中使用Promise;在home.js判断Promise的状态,已完成时再去执行页面的请求。

    //app.js
    wxLogin(){
        return new Promise((resolve,reject)=>{
          wx.login({
            success: (res)=>{
              login({
                code: res.code,
                appid: 'xxx'
              }).then((data)=>{
                resolve(res);
              })
            },
            fail: (err)=>{
              reject(err);
            }
          })
        })
    }
    
    //home.js 
    const app = getApp();
    onLoad(){
        app.wxLogin().then(()=>{
          this.getList();
        })
    }
    

    相关文章

      网友评论

          本文标题:解决微信小程序app.js中异步请求尚未执行完成,就执行Page

          本文链接:https://www.haomeiwen.com/subject/fzbkdrtx.html