在 ES9 中,finally
函数被引入到同步和异步函数中,它可以在函数执行完毕后无论成功或失败都会被执行。finally
函数主要用于清理资源或者执行一些必须的操作,比如关闭文件、释放内存等。
同步函数中的 finally 函数
在同步函数中,finally
函数的用法非常简单,它会在 try
和 catch
语句块执行完毕后被调用。下面是一个简单的示例代码:
-- -------------------- ---- ------- -------- --------- -- - --- - ------ - - -- - ----- --- - ----------------------- --- - ------- - ----------------------- - - ---------------------- ---- -- ------- -- ------- ---------------------- ---- -- ------- ------ --------- -------
在上面的代码中,如果除数 b
为 0,则会抛出一个异常,控制台会输出错误信息。无论是否抛出异常,finally
函数都会被执行,控制台会输出 finally
。
异步函数中的 finally 函数
在异步函数中,finally
函数的用法与同步函数类似,它会在异步操作执行完毕后被调用。下面是一个使用 Promise 的异步函数示例:
-- -------------------- ---- ------- -------- ------------- - ------ --- ----------------- ------- -- - ------------- -- - -- --- --- -- - --------- --- -- ----- ------- --- - ---- - ---------- ----------- --- --------- - -- ------ --- - ------------ ------------ -- - ------------------ -- -------------- -- - ----------------------- ------- -- ----------- -- - ----------------------- ---
在上面的代码中,如果 Promise 对象的状态为 fulfilled
,则会输出用户信息。如果状态为 rejected
,则会输出错误信息。无论状态如何,finally
函数都会被执行,控制台会输出 finally
。
总结
finally
函数是 ES9 中一个非常实用的特性,它可以在同步和异步函数中清理资源或者执行一些必须的操作。在实际开发中,我们可以使用 finally
函数来确保代码的正确性和健壮性。
参考资料
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65717852d2f5e1655da22e7c