请手写实现一个符合 Promise/A+ 规范的 myPromise,支持 then、catch、finally 以及静态方法 resolve、reject、all、race。
考察说明
考察对 Promise 核心机制(状态机、异步链、错误处理)的理解与编码实现能力
回答思路
- 正确实现三种状态及状态只能由 pending 单向流转
- then 返回新 Promise 并支持链式调用和值透传
- 处理 then 回调返回值可能是 Promise 的情况(resolvePromise)
- 支持异步回调注册与延迟执行,正确处理微任务(可用 queueMicrotask 或 Promise.resolve)
- 实现 catch、finally 以及静态方法并注意边界(then 回调异常捕获)
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。