JavaScript Promise.finally()2025年4月23日 | 阅读 3 分钟 在 JavaScript 中,Promise 对象的 finally() 方法在 promise 状态确定后返回一个回调函数。 JavaScript 中的 Promise.finally() 方法无论 promise 结果如何都会执行一个回调,通常用于清理任务。 简单来说,Promise 实例的 finally() 方法安排一个函数在 promise 状态确定(无论是已解决还是已拒绝)时被调用。它会立即返回另一个 Promise 对象,允许您链式调用其他 promise 方法。 语法 参数
示例编译并运行输出 Done! This runs no matter what. Finally 在 JavaScript 中是如何工作的?一个 try-catch 语句总是与一个 finally 块配对。您可以只使用 try 语句,或者将 try 语句与 catch 和 finally 块结合使用。一旦这些块执行完毕,预期运行的代码可能会导致错误。 此错误可能是由于编程错误或运行时问题造成的。如果 try 块中的代码失败,catch 块将执行。 如果发生故障,catch 块会促使执行所需的操作。当 try 或 catch 块运行后,finally 块将始终执行。当使用 try 语句时,必须包含至少一个 catch 或 finally 语句,尽管两者并非都必需。 Promise.finally() 的示例示例 1编译并运行输出 Success: Data loaded Operation complete 说明 在此代码中,它创建一个新的 Promise,该 Promise 在 1 秒延迟后以消息“Data loaded”解决。 then() 方法用于处理已解决的数据,该数据将与成功消息一起记录到控制台。 catch() 方法用于处理可能发生的任何错误,该错误将与错误消息一起记录到控制台。 finally() 方法用于执行一个回调函数,无论 promise 是已解决还是已拒绝。 示例 2编译并运行输出 Done after delay Clearing temporary data… 说明 在此代码中,finally() 方法用于在 promise 状态确定后执行清理任务。 示例 3编译并运行输出 Data received! Cleanup: hiding loading spinner... 说明 在此代码中,loadData 函数返回一个 Promise,该 Promise 在 2 秒后解决(模拟加载过程)。 then 方法用于处理已解决的数据,该数据将记录到控制台。 finally 方法用于执行清理操作(隐藏加载微调器),无论结果如何。 |
Promise 链是一个简单的概念,它允许我们在 .then() 方法中初始化第二个 Promise,然后将我们的结果作为后果执行。然后,由前一个 Promise 返回的值被捕获在函数内部。在某些情况下,我们需要……
5 分钟阅读
在 JavaScript 中,Promise.allSettled() 方法允许并发处理多个 Promise,并返回一个 Promise。此 Promise 以状态描述符数组解析,每个描述符都详细说明了输入数组中相应 Promise 的结果。简单来说,Promise.allSettled() 方法会等待……
阅读 2 分钟
教程编译器 Promise 闭包 DOM 面试题 JavaScript 中的 Promise 是一个对象,用于表示异步操作的最终完成或失败。借助...
阅读 4 分钟
当我们在可迭代对象(如数组)中提供的 Promise 中有一个被正确满足或解析时,该过程会返回一个接受或拒绝的 Promise。Promise.any() 是并发 Promise 方法之一。它通过此方法返回第一个已完成的 Promise……
5 分钟阅读
在 JavaScript 中,async/await 提供了一种更简洁、更具可读性的处理 Promise 的方法,使异步代码看起来更像同步代码。async 用于将函数声明为异步,await 会暂停执行直到 Promise 解析,这有助于简化……
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India