Promise 对象有什么特殊的方法?

阅读时长 5 分钟读完

Promise 对象有什么特殊的方法?

在前端开发中,我们常常需要处理异步操作,例如从服务器获取数据、读取本地文件等等。而 Promise 对象就是一种用于处理异步操作的技术。

Promise 对象是一个 JavaScript 对象,它代表了一个异步操作的最终完成或失败,并返回相应的结果。Promise 对象有以下特殊的方法:

  1. then() 方法

Promise 对象的 then() 方法是其最基本的方法之一,它用于注册回调函数,当 Promise 对象的状态变为 resolved 时,then() 方法就会被调用。

语法:promise.then(onFulfilled, onRejected)

其中,onFulfilled 是当 Promise 对象的状态变为 resolved 时应该被调用的回调函数,而 onRejected 是当 Promise 对象的状态变为 rejected 时应该被调用的回调函数。这两个参数都是可选的。

示例代码:

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

--------------------- -- -
  --------------------
---
展开代码
  1. catch() 方法

Promise 对象的 catch() 方法是用于捕获 Promise 对象的错误的方法。当 Promise 对象的状态变为 rejected 时,catch() 方法就会被调用。

语法:promise.catch(onRejected)

其中,onRejected 是当 Promise 对象的状态变为 rejected 时应该被调用的回调函数。

示例代码:

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

--------------------- -- -
  ---------------------------
---
展开代码
  1. finally() 方法

Promise 对象的 finally() 方法是用于在 Promise 对象的状态变为 resolved 或 rejected 时执行一些代码的方法。不管 Promise 对象的状态如何,finally() 方法都会被调用。

语法:promise.finally(onFinally)

其中,onFinally 是在 Promise 对象的状态变为 resolved 或 rejected 时应该被调用的回调函数。

示例代码:

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

------------------ -- -
  -------------------- ------------
---
展开代码
  1. Promise.all() 方法

Promise.all() 方法用于将多个 Promise 对象组合成一个 Promise 对象,并在所有 Promise 对象都完成后返回一个包含所有结果的数组。

语法:Promise.all(iterable)

其中,iterable 是一个可迭代的对象,例如一个数组。

示例代码:

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

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

---------------------- ------------------------- -- -
  -------------------------- ----
---
展开代码
  1. Promise.race() 方法

Promise.race() 方法用于将多个 Promise 对象组合成一个 Promise 对象,并在其中任何一个 Promise 对象完成后返回其结果。

语法:Promise.race(iterable)

其中,iterable 是一个可迭代的对象,例如一个数组。

示例代码:

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

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

----------------------- ------------------------ -- -
  --------------------
---
展开代码

通过学习 Promise 对象的特殊方法,我们可以更加高效地处理异步操作,并提高代码的可读性和可维护性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67cb89f4e46428fe9e478d71

纠错
反馈

纠错反馈