回调函数
最原始的异步编程方法(回调地狱)
Promise
在一定程度上解决了回调地狱的问题,但是then多了之后也不太友好。
三种状态
pending(进行中),resolved(已解决),rejected(失败),状态一旦确定不可改变,使用then进行异步编程,catch进行错误捕获。
- 回调函数延迟绑定:回调函数是通过then传入的而不是直接声明的。
- 返回值穿透:可以在then中返回一个Promise进行外部调用。
- 错误冒泡:出现错误会触发catch,不需要频繁处理错误。
静态方法
- all,多个Promise请求并发,并顺序返回结果,如果遇到错误则直接触发rejectedrace。
- allSettled,多个Promise请求并发,并顺序返回结果状态。
- any,多个Promise请求并发,只要有一个resolved,结果就为resolved,否则rejected
- race,多个Promise请求并发,有一个实例率先改变状态,就改变。
Generator
使用yield来暂定执行函数。
async/await
Generator语法糖,结合了co+Generator,又有底层语法支持。
- 内置执行器
- await返回Promise
- 可读性好
❤️ 转载文章请注明出处,谢谢!❤️