美文网首页我爱编程
微信小程序app.js系统异步获取用户信息的处理

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

作者: 2c0242b7b837 | 来源:发表于2018-04-07 21:48 被阅读131次

对于微信小程序中系统提供的大致都是异步方法,所以这样就会使页面加载出现了,有的数据还没有请求到。对于这样的情况使用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) + "+++++++")
    })
  }

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

相关文章

网友评论

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

    本文链接:https://www.haomeiwen.com/subject/flkuhftx.html