异步编程
回调函数
最原始的异步编程方法(回调地狱)
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
- 可读性好
本文来自博客园,作者:jinzhepro,转载请注明原文链接:https://www.cnblogs.com/jinzhepro/p/19233906

浙公网安备 33010602011771号