小程序获取openid

这里使用了Promise解决方案,Pomise ES6中的一个对象,从它可以获取异步操作的消息。

解决了当index.js需要使用openid时,openid还未得到这个问题。

app.js

1、定义一个获取Openid的方法,此方法返回一个promise对象。
2、在onLaunch函数中调用此方法,并将其赋值给一个全局变量,供后续页面调用

  onLaunch: function () {
    //初始化的时候调用getOpenid
    this.Promise = this.getOpenid()
  },  
  Promise:null,
  getOpenid:function(){
      var promise = new Promise(function (resolve, reject) {
      // ... some code
      setTimeout(function () {
        resolve('1234567890');       
      }, 5000);      
    });
    return promise;      
  }
})```

## index.js
1、在onLoad函数中通过调用promise对象的then方法以获取回调函数返回的数据value

var app = getApp()
Page({
onLoad: function () {
var that = this
//使用Promise
app.Promise.then(function (value) {
// success
console.log('获取openid成功:'+value)
that.setData({
openid:value
})
}, function (error) {
// failure
});
}
})```

你可能感兴趣的:(小程序获取openid)