在处理异步的时候,比如要先执行queryData()异步的请求函数,等该函数执行完毕再执行下面的操作。例如
mounted () {
this.queryData()
// 等待queryData执行完再执行
}一般可以用async await来解决,例如:
async queryData() {
await 异步操作
}但该方法在给mounted函数设置async的时候里面的await不起作用。这时候可以用Promise来实现。
async mounted () {
await this.queryData()
// 后续操作
}
// 不起作用Promise实现方法如下
queryData () {
return queryTheData(params).then(res => {
// 查询数据等异步操作
return Promise.resolve()
}
}
//然后在mounted中把需要等待queryData执行完毕的操作写进queryData的.then回调函数中,如下
mounted () {
this.queryData().then(() => {
// 后续的操作
}
}