ES9 核心功能:"Promise.finally()"
在 ES9 中,新增了一个核心功能:"Promise.finally()",它可以让我们在 Promise 执行结束后,无论是成功还是失败,都能够执行一些操作,比如清理资源、关闭连接等。
Promise.finally() 的语法如下:
promise.finally(onFinally)
其中,promise 表示一个 Promise 对象,onFinally 是一个回调函数,在 Promise 执行结束后会被调用。
下面我们来看一个例子:
// javascriptcn.com 代码示例 const promise = new Promise((resolve, reject) => { setTimeout(() => { resolve('success'); }, 1000); }); promise .then(result => { console.log(result); }) .catch(error => { console.error(error); }) .finally(() => { console.log('promise finished'); });
在这个例子中,我们创建了一个 Promise 对象,它会在 1 秒后返回一个成功的结果。然后我们通过链式调用的方式,分别注册了一个成功回调、一个失败回调和一个 finally 回调。最后我们执行了这个 Promise 对象,并输出了它的执行结果。
当 Promise 执行成功时,它会先执行成功回调,然后执行 finally 回调。当 Promise 执行失败时,它会先执行失败回调,然后执行 finally 回调。无论 Promise 执行成功还是失败,finally 回调都会被执行。
Promise.finally() 的指导意义在于,它可以让我们更好地管理 Promise 的执行结果。比如,我们可以在 finally 回调中关闭数据库连接、清理临时文件等操作,避免出现资源泄漏的情况。
总结一下,ES9 中新增的 Promise.finally() 方法可以让我们在 Promise 执行结束后,无论是成功还是失败,都能够执行一些操作。它的语法简单,使用方便,对于前端开发来说是一个非常实用的功能。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6565a499d2f5e1655dedece6