async
async 创建的函数其返回值会自动封装到一个Promise中返回
function fn(){
return Promise.resolve(10)
}
fn()
等价于
async function fn(){
return 10
}
#最后返回的都是一个promise对象
fn().then((res)=>{
console.log(res) //10
})
async function fn(){
return 10
}
await fn() //10
await
- await只用在async声明的异步函数中或es模块的顶级作用域
- 当我们用await去调用异步函数时,他会暂停代码的执行,当执行结果出来后才将代码返回
- await阻塞的只是异步内部代码,不会阻塞异步代码外面的代码
async function sum(a,b){
return a+b
}
async function fn3(){
let result = await sum(111,222) #用在async声明的fn3中才有用
console.log(result)
console.log(2)
console.log(3)
}