🌟 Introduzido no ES2018, Promises agora podem usufruir de um novo recurso para controlar o fluxo de operações através do método .finally().

👉 A proposta do Promise.finally() é executar operações independentemente da execução dos métodos .then() e .catch().

⚡️ Essa proposta é muito semelhante com a abordagem try {} catch {} finally {}, a diferença é que a declaração finally {} consegue retornar valores e Promise.finally() não, Promise.finally() consegue retornar apenas exceções via throw.

let loading = true

fetch('https://...')
  .then((response) => { ... })
  .catch((error) => { ... })
  .finally(() => { loading = false })

😉 Legal, né?

LoFM.