Promise核心实现
这是该代码实现系列的第一期-Promise核心实现,该系列的主要目的是帮助我们更好的理解前端相关库或者函数的实现原理。帮助我们更好的思考,开阔视野,只有真正理解原理才能更好的使用。同时对我们面试也有一定的帮助
写前思考在实现之前我们要先思考下实现Promise包括哪些点,比如
- Promise代表异步结果
- Promise有三种状态,状态只能从pending到fulfilled或者pending到rejected
- Promise可以链式调用
到这里想到这三个点,我们就可以开始动手实现了,让我们一步步来看
代码实现 构造函数实现首先,我们来定义一个函数,为了不跟原有的Promise冲突我们命名为CorePromise
首先我们定义Promise的状态,Promsie初始状态是pending。
同时我们知道Promise构造函数接受一个参数,该参数是一个函数,它会接受resolve和reject两个参数,方便我们进行调用,按这种逻辑我们实现成下面的样子