微信小程序app.js系统异步获取用户信息的处理

对于微信小程序中系统提供的大致都是异步方法,所以这样就会使页面加载出现了,有的数据还没有请求到。对于这样的情况使用ES6中提供Promise很好的解决了这个问题,微信小程序支持ES6,不了解Promise的可以找个教程看一下。

  • 我们可以在app.js直接使用,也可以创建一个新的文件把它封装成一个方法,我这里就做一个直接使用的例子:
  1. 在app.js中创建一个方法
  getOpenId: function () {
    let promise = new Promise(function (resolve, reject) {
      let self = this;
      wx.login({
        success: res => {
          wx.request({
            url: '你的链接地址',
            method: 'POST',
            data: {'传递的参数':'xxx'},
            header: {
              'Content-Type': 'application/x-www-form-urlencodeds',
              'cache-control': 'no-cache'
            },
            success: function (res) {
              resolve(res);
            },
            fail: function (res) {
              reject(res);
            }
          })
        }
      })
    })
    return promise;
  }

2.在想要得到请求回来数据的界面中

const app = getApp();
  onLoad: function (options){
    app.getOpenId().then(res => {
      if ('输入自己的判断条件') {
      } else {
      }
    }).catch(e => {
      // 打印一下错误
      console.log(JSON.stringify(e) + "+++++++")
    })
  }

这样就可以解决了上面的问题。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容