ES9 在你的 JavaScript 代码中添加了 “取消” 操作

阅读时长 3 分钟读完

ES9 是 ECMAScript 的第九个版本,也称为 ECMAScript 2018。它包含了许多新功能,其中一个非常有用的功能是 Promise.prototype.finally() 方法。在这篇文章中,我们将深入探讨这个新功能,它如何帮助我们增强代码的可读性和可维护性。

Promise.prototype.finally() 方法

Promise.prototype.finally() 方法是 Promise 的实例方法,用于在 Promise 执行结束时执行一些操作。这些操作无论 Promise 是成功还是失败,都会被执行。在 Promise 执行结束后,finally() 方法返回一个新的 Promise 对象,该对象的状态和原 Promise 对象的状态一致。

finally() 方法的语法如下:

其中,promise 是一个 Promise 对象,onFinally 是一个函数,它会在 Promise 执行结束后被调用。

为什么需要 Promise.prototype.finally() 方法?

在 JavaScript 应用程序中,我们经常需要执行一些清理操作,例如关闭文件、释放资源等。这些操作通常需要在 Promise 执行结束后执行。在过去,我们需要在 Promise 的 then() 方法中添加额外的代码来实现这个功能。然而,这会导致代码变得难以阅读和维护。

现在,我们可以使用 Promise.prototype.finally() 方法来解决这个问题。finally() 方法可以让我们在 Promise 执行结束后执行一些操作,而不必在每个 then() 方法中重复添加代码。

示例代码

下面是一个使用 Promise.prototype.finally() 方法的示例代码:

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

在这个示例代码中,我们使用 fetch() 方法获取了一个 JSON 数据。我们使用 then() 方法处理成功的情况,使用 catch() 方法处理失败的情况。最后,我们使用 finally() 方法添加了一个清理操作,无论 Promise 是否成功,都会被执行。

结论

Promise.prototype.finally() 方法是一个非常有用的功能,它可以让我们在 Promise 执行结束后执行一些操作,而不必在每个 then() 方法中重复添加代码。这可以提高代码的可读性和可维护性,从而使我们的代码更加健壮和可靠。我希望本文对你有所帮助,让你更好地理解 ES9 的新功能。

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

纠错
反馈