ES9 中同步和异步函数中的 finally 函数

阅读时长 3 分钟读完

在 ES9 中,finally 函数被引入到同步和异步函数中,它可以在函数执行完毕后无论成功或失败都会被执行。finally 函数主要用于清理资源或者执行一些必须的操作,比如关闭文件、释放内存等。

同步函数中的 finally 函数

在同步函数中,finally 函数的用法非常简单,它会在 trycatch 语句块执行完毕后被调用。下面是一个简单的示例代码:

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

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

在上面的代码中,如果除数 b 为 0,则会抛出一个异常,控制台会输出错误信息。无论是否抛出异常,finally 函数都会被执行,控制台会输出 finally

异步函数中的 finally 函数

在异步函数中,finally 函数的用法与同步函数类似,它会在异步操作执行完毕后被调用。下面是一个使用 Promise 的异步函数示例:

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

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

在上面的代码中,如果 Promise 对象的状态为 fulfilled,则会输出用户信息。如果状态为 rejected,则会输出错误信息。无论状态如何,finally 函数都会被执行,控制台会输出 finally

总结

finally 函数是 ES9 中一个非常实用的特性,它可以在同步和异步函数中清理资源或者执行一些必须的操作。在实际开发中,我们可以使用 finally 函数来确保代码的正确性和健壮性。

参考资料

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

纠错
反馈