Promise 中的 finally 的用法和作用

阅读时长 3 分钟读完

Promise 中的 finally 的用法和作用

Promise 是一种处理异步操作的解决方案,它提供了更强大的处理方式,使得异步操作可以像同步操作一样愉快地编写代码。而其中的 finally 方法也是 Promise 中的一个重要方法,让我们来具体了解一下。

  1. finally 的用法

finally 是 Promise 中的一个方法,该方法无论 Promise 状态如何,都会执行并返回一个 Promise。finally 方法接受一个函数作为参数,该函数在 Promise 被 resolved 或 rejected 时均会被调用。

语法如下:

其中,onFinally 是一个可选函数,表示 Promise 的状态无论如何都会运行该函数。

  1. finally 的作用

finally 方法和 catch 方法类似,都是 Promise 的辅助方法。它们都是用来处理 Promise 回调函数内出现的错误或者异常时采取的策略。

catch 方法是专用于处理 Promise 链中的异常的,而 finally 方法则与 Promise 的状态无论如何都会执行的函数相对应。

finally 的作用主要有三个方面:

(1)在 Promise 执行完成后,无论它是 fulfilled 还是 rejected,finally 总是会被执行。

(2)finally 方法的回调函数参数同样可以返回 Promise,可以用来实现 Promise 数据流的控制和变形。

(3)finally 处理程序的返回值会被忽略,finally 的主要目的是进行资源清理和任务完成的消息发送。

  1. finally 的示例代码

下面是使用 finally 方法的一个例子,我们可以看到无论 Promise 状态如何,finally 都会被执行。

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

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

当 Promise 被 resolved 时,输出为:

当 Promise 被 rejected 时,输出为:

总的来说,finally 方法可以使我们在 Promise 链中完成后自由地执行一些清理代码,这对于一些资源的释放、状态的恢复等操作非常有用。同时,finally 方法的语法简单直接,也让我们更好地处理 Promise 中的异常情况。

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

纠错
反馈

纠错反馈

程序员教程

精选优质教程,助你快速提升技术实力

程序员面试题库

海量优质面试题,助你轻松应对技术面试