From 442c9c8c166d5b4c5a6ca9887cd39959b71b7a5d Mon Sep 17 00:00:00 2001 From: Yuan Jin <277739025@qq.com> Date: Fri, 25 Aug 2023 09:03:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=89=8B=E5=86=99Prom?= =?UTF-8?q?ise=E4=B8=AD=5FchangeState=E6=96=B9=E6=B3=95=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 06. 手写Promise/MyPromise.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/06. 手写Promise/MyPromise.js b/06. 手写Promise/MyPromise.js index 5c5ae5b..7e79905 100644 --- a/06. 手写Promise/MyPromise.js +++ b/06. 手写Promise/MyPromise.js @@ -161,6 +161,12 @@ class MyPromise { // 目前状态已经更改 return; } + // 下面这个判断是为了处理value为Promise的情况 + // 这一段代码课程中没有涉及,特此注释说明 + if (isPromise(value)) { + value.then(this._resolve.bind(this), this._reject.bind(this)); + return; + } this._state = newState; this._value = value; this._runHandlers(); // 状态变化,执行队列