收藏
回答

如何返回在app.js自定义一个函数通用wx.request()所获取的到数据给其它页面使用?

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

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 个回答

  • 老张
    老张
    2020-02-20

    我们获取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


    2020-02-20
    有用
    回复 2
    • 大洪
      大洪
      2020-02-21
      谢谢!其实有点看不明白
      2020-02-21
      回复
    • 大洪
      大洪
      2020-02-21
      有没有这方面的基础连接,谢谢!
      2020-02-21
      回复
  • Mr.Zhao
    Mr.Zhao
    2020-02-20

    2020-02-20
    有用
    回复 8
    • 大洪
      大洪
      2020-02-20
      谢谢解答!一定要用封装方式吗?可以简单一点,正如一个函数计算好结果,在调用时直接返回这个结果出来?
      2020-02-20
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-02-20回复大洪
      异步的问题,没办法
      2020-02-20
      回复
    • 大洪
      大洪
      2020-02-21
      请问定义的app与index是编写在小程序哪里?是否要写在onShow或onLoad这些生命周期的函数里?(不好意思,我也在努力去学习这种封装方式,一时三刻确实理解不完全!)
      2020-02-21
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-02-21回复大洪
      截图的代码,是让你参考的
      2020-02-21
      回复
    • 大洪
      大洪
      2020-02-21回复Mr.Zhao
      那我在app.js里把wx.request()封装,再到使用的页面里申请调用?是这个过程吗?不过关键我要理解这个Promise封装的原理才是
      2020-02-21
      回复
    查看更多(3)
登录 后发表内容
问题标签