async 可以把普通的函数改成异步函数,调用都是一样的,返回的是一个 promise 对象
async 配合await使用是一个阻塞的异步方法
async 还可用做回调地狱
特点:
async
- 返回一个promise对象, 无论函数内部是否有await都会返回promise对象
let fn1 = async () => {
// return
}
console.log(fn1());//undefined //使用async之后返回Promise对象
- 函数内部return返回的值, 会成为then回调函数的第一个参数
let fn2 = async ()=>{
return 1
}
// console.log(fn2());//使用async之后返回Promise对象
fn2().then(res=>{
console.log("fn2.then==>",res)
})
- 函数内部如果出现错误,会被then的第二个参数或catch所捕获