async function fn(){
return 123;
}
console.log(fn());//返回promise对象,Promise {<resolved>: 123}
// 获取return值
fn().then(res=>{
console.log(res);//123
})
// 只要await语句后面Promise状态变成reject,那么整个async函数中断执行
async function fn(){
await Promise.reject('fail');
let a=await Promise.resolve('success');
console.log(a);
}
fn().then(res=>{
console.log(res);
}).catch(err=>{
console.log(err);//fail
})
// 1.try catch :
async function fn(){
try{
await Promise.reject('fail');
}catch(e){
}
let a=await Promise.resolve('success');
console.log(a);//success
return 123;
}
fn().then(res=>{
console.log(res);//123
}).catch(err=>{
console.log(err);
})
// 2.promise 本身catch
async function fn(){
await Promise.reject('fail').catch(err=>{
console.log(err);//fail
})
let a=await Promise.resolve('success');
console.log(a);//success
return 123;
}
fn().then(res=>{
console.log(res);//123
}).catch(err=>{
console.log(err);
})