以前我正常的写法是这样的
function www(url,data) {
wx.request({
url: url,
data: data,
header: { 'content-type': 'application/json' },
success: function (res) {
resolve(res.data)//设置promise成功标志
}, fail: function (res) { console.log("at post request: 请求失败")
reject(res.data)//设置promise失败标志
});
}
调用直接this.myddiy(url,data)就好了,但其实这样是不行的
所以今天也是相当于自己做一个笔记,正确的写法是如下:
www:function(u,m,d){
return new Promise((r,s)=>{
wx.request({
url: u,
method:m,
data:d,
header:{'content-type': 'application/x-www-form-urlencoded' },
success(res){
r(res.data)
},fail(res){s(res.data)}
})
})
}
调用直接用then
www('url','get/post',此为请求的参数).then(res=>{
console.log(res)
})
这样异步问题就解决了,只有真正获取到信息后才执行!
本文链接:https://www.dnwfb.com/1560.html,转载请注明出处。
评论0