小程序的异步各种回调真是一个地狱一般的迷宫,对我这种初学者来说,参数的传递成为了最棘手的问题,百度了很多的方法,都不是很适合,最后再大神的指引下,找到了JS的Promise,t顿觉思路清晰了很多,具体的Promise说明请自行百度。
onLoad: function(options) {
var that = this;
that.function1().then(function('function1的返回参数'){
//此处可进行对参数的处理
return that.function2();
})
.then(function('function2的返回参数') {
return that.function3();
});
}
//以上为在小程序onLoad中的Promise顺序调用,函数会按照顺序一个一个执行,只有上一个函数变为完成状态时才会执行下一个
function1: function() {
var that = this;
return new Promise(function(resolve, reject) {
wx.request({
url: ,
method: 'POST',
header: {
'content-type': 'application/x-www-form-urlencoded'
},
data: {
},
success: function(res) {
resolve();
},
fail: function() {
}
})
});
}
//resolve()会将Promise函数内状态值变为成功状态,则外部会向下继续执行,注意Promise无法向外传递错误状态