Promise.finally() 메서드를 이용한 성공, 실패 상관없이 항상 실행되는 코드 작성
// Promise 객체 생성
const myPromise = new Promise((resolve, reject) => {
// 비동기 작업 수행
const success = true;
if (success) {
resolve("작업이 성공적으로 완료되었습니다.");
} else {
reject("작업이 실패하였습니다.");
}
});
// Promise 체인에 finally() 메서드 사용
myPromise
.then((result) => {
console.log(result);
// 성공 시 추가로 수행할 작업
})
.catch((error) => {
console.error(error);
// 실패 시 추가로 수행할 작업
})
.finally(() => {
console.log("항상 실행되는 코드");
// 성공 또는 실패 여부와 상관없이 항상 수행할 작업
});
위의 코드에서는 Promise 객체를 생성하고 비동기 작업을 시뮬레이션합니다. 작업이 성공적으로 완료되면 resolve를 호출하여 결과를 반환하고, 작업이 실패하면 reject를 호출하여 오류를 반환합니다.
Promise 체인에서는 then() 메서드를 사용하여 작업이 성공 했을 때의 처리 및 catch() 메서드를 사용하여 작업이 실패 했을 때의 처리를 수행합니다. 마지막으로 finally() 메서드를 사용하여 항상 실행되는 코드를 작성할 수 있습니다.
위의 예제에서는 finally() 메서드를 사용하여 항상 실행되는 메시지 “항상 실행되는 코드”를 출력합니다. 이 코드 블록은 성공 또는 실패 여부와 상관없이 항상 실행됩니다.
이렇게 Promise.finally() 메서드를 사용하면 작업의 성공 또는 실패 여부와 관계없이 항상 실행해야 하는 코드를 간편하게 작성할 수 있습니다.
#JavaScript #Promise #finally