先放代码,我的init2里面的是用promise封装的请求
async Marvel(){
await this.init2(); //获取所有线路
console.log( '2222')
},
init2() {
apibuslinebaseinfo(data).then(function (res) {
that.linedataList = res.data;
console.log( '1111')
}
},
但是最后console的结果是
先出来的2222,然后再出来1111
不是因为套promise是因为调用了请求,应该是你请求是异步的
因为是异步的所以await认为init2里的内容都执行完了,所以继续往下执行了
另外,promise本身是同步的,但是他的.then是异步的,也可能是这个问题
Promise : 根据Promise实例状态,从而决定下一步的操作, 是纵向发展的,但会出现代码冗余,语义不清晰;