在 ES9 中,Promise 对象新增了一个实例方法 finally()
,该方法在 Promise 执行结束后,无论是 resolve 还是 reject 都会执行一次,用于指定不管 Promise 最后状态如何,都会执行的操作。
在实际开发中,我们经常需要在 Promise 执行结束后进行一些清理工作,比如关闭数据库连接、释放资源等。使用 finally()
方法可以避免代码冗余和错误处理不当的情况。
方法语法
Promise.prototype.finally(onFinally)
- onFinally:Promise 执行结束后要执行的函数。
方法示例
----- ------- - --- ----------------- ------- -- - ------------- -- - ------------------- -- ------ --- ------- ------------ -- - -------------------- -- ------------ -- - ------------------- -- ----------- -- - -------------------- ----------- ---
输出结果:
------- ------- --------
方法指导意义
使用 finally()
方法可以使代码更加简洁和易于维护。在 Promise 执行结束后,无论是 resolve 还是 reject 都会执行一次,可以在该方法中处理一些清理工作。
另外,使用 finally()
方法可以避免错误处理不当的情况。在 Promise 执行结束后,如果没有处理错误,可能会导致程序崩溃或数据丢失等问题。使用 finally()
方法可以保证在 Promise 执行结束后一定会执行一次,避免这种情况的发生。
总结
ES9 中新增的 Promise.prototype.finally() 方法可以在 Promise 执行结束后无论是 resolve 还是 reject 都会执行一次,用于指定不管 Promise 最后状态如何,都会执行的操作。使用该方法可以使代码更加简洁和易于维护,避免错误处理不当的情况。在实际开发中,建议使用该方法进行清理工作的处理。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65daa5c71886fbafa47d9ef0