收藏
回答

app.js 中调用云函数返回值作为全局参数,但app.js 中是异步执行的,获取的参数传递不出来?

app.js 中调用云函数返回值作为全局参数,但app.js 中是异步执行的,获取的参数传递不出来?怎么解决

实际值并没传第出来

回答关注问题邀请回答
收藏

3 个回答

  • brave
    brave
    2020-06-26

    写个回调函数叭

    2020-06-26
    有用 3
    回复
  • 老张
    老张
    2020-06-27

    https://developers.weixin.qq.com/community/develop/article/doc/000a0aed14c3285bea79e67ee56813

    app.js里获取openid,传递给其它页面的办法。你虽然不是openid,但是可供参考。

    2020-06-27
    有用 1
    回复
  • 微派蓝色雪狐
    微派蓝色雪狐
    2020-06-26
    App({
     globalData:{
      status_1:'',
      status_2
     },
     onLaunch:function (){
      console.log('App Launch')
     },
     /**
      * 新建立一函数做为页面加载时必须执行第一个方法
      * page 当前页面
      */
    
     page_load : async function (page){
       let that = this;
       try {
        //执行云函数
         let res = await wx.cloud.callFunction({
          name : 'function', //云函数名称
          data : {
    
          }
         })
        //第一种方法
        //判断执行完成是否正确
        //当然这里可以直接返回云函数执行后数据
        if(res.errcode == 'y'){
         return res;
        }else{
         return false;
        }
        //第二种方法
        //以下为不需要返回,直接把返回数据setData
        page.setData({
          res : res
        });
       }catch (e) {
        console.log(e);
        return false;
       }
     },
    });
    


    const app = getApp();
    Page({
        data: {
    
        },
        onLoad : async function (e){
          let that = this;
          try {
            //如果使用第一次方法
              //res 为返回的数据
              let res = await app.page_load(that);
              //第二种方法
              //直接把返回数据setData到当前页面data中
              await app.page_load(that);
          }catch (e) {
           console.log(e);
          }
        },
    });
    
    2020-06-26
    有用 1
    回复
登录 后发表内容
问题标签