如何在 ECMAScript 2020 (ES11) 中使用可选的.catch() 语句

阅读时长 3 分钟读完

简介

ECMAScript 是一种基于 JavaScript 语言规范的标准化语言,它的发布版本一般以 ECMAScript x (简称 ESx) 的形式命名。ECMAScript 11(简称 ES11),也就是 ECMAScript 2020,是 JavaScript 的最新版本。其中一个新的特性是可选的.catch() 语句。

在以前的版本中,使用 Promise 捕获异常时需要使用.catch() 语句。但在 ES11 中,可以使用可选的.catch() 语句,使得代码更加简洁。

如何使用可选的.catch() 语句

在 ES11 中,使用异步操作的方式与以前没有变化。如果 you 使用 Promise,您可以按照以下方式使用可选的.catch() 语句:

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

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

如上所述,在新方式中,您可以在.then() 方法的末尾添加可选的.catch() 语句。这会使您的代码更加干净和简洁。

但请注意,这项功能在旧的 JavaScript 引擎中不起作用。如果您需要在旧的引擎上运行代码,请继续使用传统的.catch() 语句。

示例

以下代码演示了如何使用可选的.catch() 语句来捕获异步操作的异常:

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

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

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

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

在这个例子中,我们通过一个返回 Promise 的函数来模拟一个异步操作。两个示例函数示范了使用可选的.catch() 语句和传统的.catch() 语句。

运行这段代码,您可以看到两个函数输出相同的内容。

总结

在 ECMAScript 2020 中,可选的.catch() 语句成为了 JavaScript 语言的一部分。这个特性在使用 Promise 的代码中非常有用,因为它使我们的代码更加干净和简洁。但是,您需要记住,这项功能在旧的 JavaScript 引擎中不起作用。

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

纠错
反馈