执行async函数 ,返回的都是Promise对象
若执行的是一个普通函数,那么async会帮你封装成一个promise对象在进行返回
若直接返回一个promise对象,就会返回promise对象
async function test1() {
return 1
}
async function test2() {
return Promise.resolve(2)
}
const a = test1()
const b = test2()
console.log(a)//输出promise对象
console.log(b)//输出promise对象
promise.then成功的情况下对应await
async function test3() {
const c=Promise.resolve(3)
c.then(data=>{
console.log(data)
})
const data = await c;
}
test3()//输出3
await内部会把数据封装成一个promise对象
async function test4() {
const d=Promise.resolve(4)
const data = await d;//await promise.resolve(4)
console.log(data)//输出4
}
test4()
异步函数
async function test5() {
const e=await test1()
console.log(e) //返回1
}
test5()
Promise.catch异常的情况对应try…catch
async function test6() {
const f=Promise.reject(6) ;
try{
const data6 = await f;
console.log(data6)
} catch (e) {
console.error('e',e)//此时输出异常状态 e 6
}
}
test6()