async函数(源自ES2017)
- 概念:真正意义上解决了异步回调问题,同步流程表达异步操作
- 本质:Genertor的语法糖
- 语法:
async function foo(){
await 异步操作
await 异步操作
}
- 特点:
- 不需要像Generator去调用next方法,遇到awiat等待当前异步操作完成就往下执行
- 返回的是Promise对象,可以调用then方法进行下一步操作
- async取代Gerator函数的*号,await取代了Generator的yeild
- 语义上更为明确,使用简单,没有副作用
async function asyncPrint(){
let result=await Promise.resolve('promise')
console.log(result);
result=await Promise.reject('failed')
console.log(result);
}
asyncPrint()