前端面试大全:手写 Promise

本文通过手写简易版和符合Promise/A+规范的Promise,深入解析其工作原理。内容包括Promise的状态管理、resolve和reject函数的实现、then方法的处理逻辑,以及解决不同Promise的兼容性问题。
摘要由CSDN通过智能技术生成

(内容同步自小邹的头条号:沪漂程序员的生活史)

在上一篇文章中我们了解了 Promise 的一些易错点,那这一篇文章,我们会通过手写一个符合 Promise/A+ 规范的 Promise 来深入理解它,并且手写 Promise 也是一道大厂常考题,在进入正题之前,推荐各位去网上找下Promise/A+规范,这样才能更好地理解这个章节的代码。

前端面试大全:手写 Promise

 

实现一个简易版 Promise

在完成符合 Promise/A+ 规范的代码之前,我们可以先来实现一个简易版 Promise,因为在面试中,如果你能实现出一个简易版的 Promise 基本可以过关了。

那么我们先来搭建构建函数的大体框架

const PENDING = 'pending'
const RESOLVED = 'resolved'
const REJECTED = 'rejected'
function MyPromise(fn) {
 const that = this
 that.state = PENDING
 that.value = null
 that.resolvedCallbacks = []
 that.rejectedCallbacks = []
 // 待完善 resolve 和
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值