我的程序大概意思是这样:
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把数据返回出去?
我们获取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