04.iii Promise.finally()
Finally method - a callback to be invoked when a promise is settled (either fulfilled, or rejected):
Features:
A
finally
’s callback is always executedA
finally
callback will not receive any argumentPreserve Promise state
Promise.resolve(2).finally(() => {})
will be resolved with 2.Promise.reject(3).finally(() => {})
will be rejected with 3.
A
throw
(or returning a rejected promise) in thefinally
callback will reject the new promise with that rejection reason.
The essential use case here is cleanup - I want to hide the "loading" spinner on my AJAX request, or I want to close any file handles I’ve opened, or I want to log that an operation has completed regardless of whether it succeeded or not.
Last updated
Was this helpful?