Promise.finally() Run on completion

Last updated: 2026-09-09

Promise.finally() Run on completion

finally registers a callback that runs when the Promise settles (either way).

CategoryAsync
ES versionES2018

📝 Syntax

promise.finally(() => { ... });

⚙️ Parameters

callbackA callback with no arguments.

Returns:A new Promise (passes through the previous result).

Mutates the original:No (returns a new value)

▶ Example

Edit the code, press Run, and see the result in the output panel:

Output:

(loading is false)
💡 Tip finally passes through the previous result unchanged.
ℹ️ info finally's callback receives no arguments.

🌐 Browser support

Browser ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
Promise.finally() v58 v79 v48 v10 v45
Supported by all modern browsers
More case studies coming soon — check back later.

📚 Related Tutorials

❓ FAQ

Qfinally vs then/catch?
Afinally runs regardless of outcome; then/catch only for their state.
QCan finally change the result?
ANo — finally's return is ignored.
QWhen to use finally?
AClose loading, disconnect, cleanup — regardless of outcome.
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏