实现一个 Promise.resolve

推荐答案

-- -------------------- ---- -------
----------------- - --------------- -
  -- -- ----- --- ------- ---------
  -- ------ ---------- -------- -
    ------ ------
  -
  
  -- -------- ------- ----- ----- -- ------- ---
  ------ --- ----------------- -- -
    ---------------
  ---
--

本题详细解读

1. 理解 Promise.resolve 的作用

Promise.resolve 是 JavaScript 中 Promise 对象的一个静态方法,用于将一个值转换为一个 Promise 对象。如果传入的值本身就是一个 Promise 对象,则直接返回该对象;如果传入的值是一个普通值,则返回一个以该值为结果的已解决的 Promise 对象。

2. 实现思路

  • 判断传入的值是否为 Promise 对象:如果传入的值已经是 Promise 对象,则直接返回该对象。
  • 返回一个新的 Promise 对象:如果传入的值不是 Promise 对象,则创建一个新的 Promise 对象,并将传入的值作为 resolve 的参数。

3. 代码实现

-- -------------------- ---- -------
----------------- - --------------- -
  -- -- ----- --- ------- ---------
  -- ------ ---------- -------- -
    ------ ------
  -
  
  -- -------- ------- ----- ----- -- ------- ---
  ------ --- ----------------- -- -
    ---------------
  ---
--

4. 使用示例

-- -------------------- ---- -------
-- -- -- -----
---------------------------------- -- -
  ------------------- -- --- --
---

-- -- -- -- ------- --
----- ------- - --- ----------------- -- --------------
--------------------------------------- -- -
  ------------------- -- --- ---
---

5. 注意事项

  • Promise.resolve 方法不会改变传入的 Promise 对象的状态,如果传入的是一个已经解决的 Promise 对象,返回的 Promise 对象也会立即解决。
  • 如果传入的是一个普通值,返回的 Promise 对象会立即解决,并将该值作为解决结果。
纠错
反馈