1.async 函数返回一个 Promise 对象
methods: {
async fn () {
return '@Author huangzuowen","@DateTime 2019/3/8'
}
},
mounted(){
this.fn() //Promise 对象
this.fn().then( (v) => console.log(v)) // '@Author huangzuowen","@DateTime 2019/3/8'
}
methods: {
async fn () {
throw new Error('error');
}
},
mounted(){
this.fn().then(v => console.log(v)).catch( e => console.log(e)); //捕获异常==>Error: error
}
2.async 函数返回的 Promise 对象,必须等await命令的 Promise 对象执行完毕,才会执行下一步。
methods: {
async fn () {
let result = await getUserlist()
this.userList = result.data
return 'done';
// getUserlist() 方法执行后返回数据给_result,然后再对返回的数据做更多的操作。
}
},
mounted(){
this.fn().then( (v) => console.log(v)) // 'done'
}
3.async函数错误回调处理。
methods: {
/*
1.当 async 函数中只要一个 await 出现 reject 状态,则后面的 await 都不会被执行。
2.如果有多个 await 则可以将其都放在 try/catch 中。
*/
async fn () {
try {
await Promise.reject('error')
} catch (error) {
console.log(error);
}
statsu = await 'ok';
return statsu;
}
},
mounted(){
this.fn().then( (v) => console.log(v)) // 'ok'
}