在微信小程序中。 因为js代码是异步执行的。所以通常无法等待wx.require执行完在执行下一条语句。所以需要借助Promise
通过此函数可以调用.then()函数来等待前面的代码执行完毕
代码示例
function postRequest(url, params) {
var response = new Object()
// CreateHeader()是另外的自定义函数跟这篇文章的内容无关 就不管他了
var header = CreateHeader()
return new Promise(function(resolve, reject){
wx.request({
url: loaclhost + url,
header: header,
data: params,
method: 'POST',
success(res) {
response.status = true
response.msg = res
resolve(response)
},
fail(err) {
response =
{
status: false,
msg: err
}
reject(response)
}
})
})
}
然后在调用的时候通过.then()函数执行就可以了
response = reqs(urls, tempid).then((res) => {console.log(res)})