Promise 패턴은 JavaScript 코드를 다루는 방법 중 하나로, 주로 콜백 지옥(callback hell)을 피하고 가독성을 높이기 위해 사용한다. Promise 패턴을 사용하면 비동기적으로 처리되는 작업을 보다 간결하고 직관적으로 표현할 수 있다.
const myPromise = new Promise((resolve, reject) => {
setTimeout(() => {
/* 비동기 작업 수행 */
if (/* 비동기 작업이 성공적으로 완료된 경우 */) {
resolve(result);
} else {
reject(error);
}
}, 1000);
})
new 키워드를 통해 Promise 객체를 생성할 수 있다.
비동기 작업을 수행할 함수가 전달된다. 이 함수의 인자로는 resolve, reject 콜백 함수가 전달된다.
resolve 함수는 비동기 작업이 정상적으로 수행 되었을 때 실행하는 함수이다.
reject 비동기 작업이 실패하면 reject 함수를 호출하여 Promise를 거부한다.
Promise 객체를 사용하면 비동기 함수가 실행된다.
resolve 함수에는 비동기 작업의 결과 값이나 완료 상태를 전달하며, reject 함수에는 에러 정보를 전달한다.
myPromise
.then((result) => {
console.log("Resolved:", result); // 성공적으로 완료되면 이곳이 실행됨
})
.catch((error) => {
console.error("Rejected:", error); // 실패하면 이곳이 실행됨
});
resolve()가 실행되었다면 then 구문, reject()가 실행되었다면 catch 구문이 실행된다.
Promise는 다음 중 하나의 상태를 가진다.

좋은 글 감사합니다.