从零实现一个简单版 Promise,彻底搞懂异步原理

20 阅读1分钟

Promise 是前端异步编程的基础,几乎每天都在用。但很多同学只停留在  then/catch/finally  的使用层面,对内部状态流转、链式调用、微任务机制一知半解。

本文带你手写一个符合 PromiseA+ 规范的简易版 Promise,不依赖任何库,看完就能彻底理解它的工作原理。

 

一、先回顾 Promise 核心特性

1. 三种状态: pending  /  fulfilled  /  rejected  ​ 2. 状态一旦改变不可逆转 ​ 3. 支持  then  链式调用 ​ 4. 支持  catch  捕获异常 ​ 5. 支持  finally  ​ 6. 构造函数接收  executor  函数,同步执行