[typescript] `Promise.finally()` 메소드는 어떤 시나리오에서 사용할 수 있나요?

Promise.finally() 메소드를 사용하는 한 가지 대표적인 예시는 네트워크 요청을 보낼 때입니다. 네트워크 요청에서 성공하든 실패하든, 로딩 상태를 숨기는 등의 작업을 수행할 수 있습니다.

다음은 Promise.finally() 메소드를 사용한 예시입니다.

fetch('https://api.example.com/data')
  .then(response => {
    // 성공한 경우
    return response.json();
  })
  .catch(error => {
    // 실패한 경우
    console.error('데이터를 불러오는 중 에러가 발생했습니다:', error);
  })
  .finally(() => {
    // 요청 완료 후 항상 실행됨
    hideLoadingSpinner();
  });

위 예시에서 finally() 메소드를 호출하여 hideLoadingSpinner() 함수를 실행하여, 요청이 성공하든 실패하든 항상 로딩 상태를 해제하도록 했습니다.

이러한 방식으로 Promise.finally() 메소드를 사용하여 프로미스가 완료된 후 공통적으로 수행해야 하는 작업을 간편하게 처리할 수 있습니다.

참고 문서