异步编程

回调函数

最原始的异步编程方法(回调地狱)

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
  • 可读性好
posted @ 2025-11-17 18:10  jinzhepro  阅读(5)  评论(0)    收藏  举报