.finally()

Published Jul 27, 2021Updated Jun 28, 2023
Contribute to Docs

Returns a new Promise object after the previous promise in the chain has been resolved or rejected. This last part of the chain will execute no matter what.

Syntax

myPromiseObject.then(fulfilledPromiseCallback).finally(finalPromiseCallback);

.finally() can be used with or without .then() and/or .catch().

Example

const myPromise = new Promise((resolve, reject) => {
if (2 + 2 === 4) {
resolve('Fulfilled');
} else {
reject('Rejected');
}
});
myPromise
.then((result) => {
console.log(result);
})
.catch((err) => {
console.log(`${err.status} - ${err.errorType}: ${err.message}`);
})
.finally(() => console.log('Operations have ended.'));
/*
Output:
Fulfilled
Operations have ended.
*/

Codebyte Example

In the following example, the callback function passed to finally() is executed when the promise either resolves or rejects.

us
Visit us
code
Hide code
Code
Output
Hide output
Hide output
Loading...

All contributors

Looking to contribute?

Learn JavaScript on Codecademy