async/await 处理异步操作

/*
  async/await 处理异步操作:
  async函数返回一个Promise实例对象
  await后面可以直接跟一个 Promise实例对象
*/
axios.defaults.baseURL = 'http:localhost:3000';
// axios.get('adata').then(function(ret){
//   console.log(ret.data)
// })

// async function queryData() {
//   var ret = await axios.get('adata');
//   // console.log(ret.data)
//   return ret.data;
// }

async function queryData() {
    var ret = await new Promise(function(resolve, reject){
        setTimeout(function(){
            resolve('nihao')
        },1000);
    });
    // console.log(ret.data)
    return ret;
}
queryData().then(function(data){
    console.log(data)
})

如果某函数的返回值是promise,便可以用 async/await进行优化。

async showEditDialog(id){
        const { data : res }=await this.$http.get('users/' + id)
        if (res.meta.status !== 200) {
          return this.$message.error('查询用户信息失败!')
        }
        this.editForm = res.data
        this.editDialogVisible=true
      },
发布了8 篇原创文章 · 获赞 1 · 访问量 208

猜你喜欢

转载自blog.csdn.net/unimpossibles/article/details/104566460