ES11 中如何使用 Promise.finally

阅读时长 3 分钟读完

在前端开发中,很多时候我们需要处理异步操作。Promise 是一种常用的处理异步操作的方式,而 Promise.finally 则是 ES11 中的一个新特性,它允许我们在 Promise 执行结束后无论成功还是失败都能执行一段代码。

Promise.finally 的语法

Promise.finally 的语法非常简单,只需要在 Promise 对象后面加上 .finally() 即可。.finally() 中可以包含需要执行的代码块。

Promise.finally 的使用场景

1. 执行清理操作

当我们需要执行异步操作时,有时候需要进行一些清理操作,比如关闭数据库连接、释放资源等。而 Promise.finally 就可以很方便地实现这些清理操作。

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

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

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

上面的示例中,我们在打开数据库连接后执行了异步的数据获取操作,并在最后执行了一个清理操作,无论数据获取操作成功还是失败都会执行。

2. 加载动画处理

在页面中我们经常会加载一些异步数据,而在数据加载时可以显示一个加载动画,当数据加载完毕后则需要隐藏该动画。Promsie.finally 就可以很方便地实现这个功能。

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

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

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

上面的示例中,我们在数据加载时显示了一个加载动画,并在数据加载完毕后隐藏该动画。

Promise.finally 的示例代码

下面是一个使用 Promise.finally 的示例代码,该代码实现了数据加载和清理的功能。

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

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

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

总结

Promise.finally 是一个非常实用的新特性,它可以帮助我们在异步操作结束后运行代码。在处理异步操作的场景下,使用 Promise.finally 可以为我们带来很多便利。

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

纠错
反馈