学习资料:
- 手写 Promise 核心原理,完整的 Promise/A+ 实现,通过了 Promise/A+ 官方872个测试用例测试,根据规范实现了 ES6+ 的全部 API,包括处于 TC39 第四阶段草案的 Promise.any()。
- 使用Promise-mdn
Promise
对象代表一个异步操作,是一种处理异步代码(而不会陷入回调地狱)的方式。
有三种状态:pending
(进行中)、fulfilled
(已成功)和rejected
(已失败)
一个 Promise
必然处于以下几种状态之一:
- 待定
(pending)
: 初始状态,既没有被兑现,也没有被拒绝。 - 已成功
(fulfilled)
: 意味着操作成功完成。 - 已拒绝
(rejected)
: 意味着操作失败。 promise的方法有九个:
实例方法3个:
then()
catch()
finally()
静态方法6个:
resolve()
reject()
all()
allSettled()
race()
any()
总结
看到promise,我们会想到的的关键词
- 前端知识重点
- 异步
- 不会陷入回调地狱
- 有三个状态
- 有九种方法
- 可以链式调用
- 返回值是一个promise对象