如何返回在app.js自定义一个函数通用wx.request()所获取的到数据给其它页面使用?
发布于 7 年前 作者 jun99 8017 次浏览 来自 官方Issues

我的程序大概意思是这样:

1、在app.js里编写如下函数,并把获取的数据存入到指定的公共数据里:

// app.js

*****************************************

globalData:{

    “setStatus”: 0,

  },

getStatusSet: function (type,statu,id) {

    var that=this;    

    wx.request({

      url: “https://url.com”,

      data: {

        “type”: type,

        “statu”:statu,

        “cont_id”:id,

      },

      method: “POST”,

      header: {

        “content-Type”: “application/json”,

      },

      success: function (res) {

        that.globalData.setStatus = res.data.data;

        console.log(that.globalData.setStatus); // 这里的打印的结果出来是正确的 : setStatus=1

      },

    }); 

    return that.globalData.setStatus; // 这里返回的结果是undefine, 我的问题就是想这里能返回最终结果出去?

  },

2、在其它应用页面的.js文件里调用这个函数:

var app=getApp();

app.getStatusSet("type", 2, id);

var isLike = app.globalData.setStatus;

console.log(isLike); // 这里打印的结果是错误的:isLike=0

*********************************************************

打印结果全为:调用的页面打印结果为0(是错误的),正确的结果是1.

我的问题是:如何在调用这个函数getStatusSet()时如何用return把数据返回出去?


2 回复

我们获取openid的模式和你的类似:多个页面都需要用到openid,调用app.js的某个函数,可参考:

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

另外wx.request可能需要同步化:可参考:

https://developers.weixin.qq.com/community/develop/article/doc/00028cbc2e04e0ddf549d535351c13

回到顶部