Promise的日常使用

165 阅读1分钟

在处理异步的时候,比如要先执行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(() => {
  // 后续的操作
  }
}