访问网络操作时没有按顺序执行应当怎样解决
onLoad: function (e) {
this.setData({
jlid:e.jlid
})
this.userStat()
wx.cloud.callFunction({
name: "login"
}).then(res => {
this.setData({
openid: res.result.OPENID
console.log("测试1"+ res.result.OPENID )
})
this.isCanyu()
this.showAllItems();
})
console.log("测试2"+this.data.openid)
}
先打印出"测试2",再打印出"测试1"我想要的结果是按顺序执行,应当怎样解决
promise了解一下
小程序网络请求基本都是异步的,可以试试两种方法:
一是:将需要执行的测试2代码放在测试一后面;
二是:将要执行的测试一代码封装回调后执行测试二代码;
有没有什么语句在回调之外等待结果再去执行呢
ES6的Promise了解一下