小程序里的回调太多,影响代码维护,用Promise优化一下。
话不多说,比较代码。
原代码:
getUserInfo:function(cb){
var _this = this;
if(_this.globalData.userInfo){
typeof cb == "function" && cb(_this.globalData.userInfo)
}else{
//调用登录接口
wx.login({
success: function (res1) {
var usercode = res1.code;
wx.getUserInfo({
success: function (res2) {
_this.globalData.deviceInfo = wx.getSystemInfoSync();
_this.globalData.userInfo = res2.userInfo;
var ajaxParam = _this.TranClientParam(usercode);
_this.BangLogin(ajaxParam, cb);
}
})
},
fail:function(){
console.log("登录超时.");
}
})
}
},
TranClientParam : function(code){
var obj = {};
var user = this.globalData.userInfo;
var devic = th