callback 지옥에서 탈출하기
Promise의 개념에 대해 알아본다.
상태변화 2가지
다음 코드를 살펴보자.
function isPositive(num, resolve, reject) {
setTimeout(() => {
if (typeof num === "number") {
//resolve
resolve(num >= 0 ? "양수 또는 0" : "음수");
} else {
//reject
reject("숫자가 아님");
}
}, 1000);
}
isPositive(
10,
(res) => {
console.log("성공:", res);
},
(err) => {
console.log("실패:", err);
}
);
isPositive
함수는 검사할 값과 콜백 함수인 resolve 함수, reject 함수를 넘겨준다.
위의 코드에서 Promise를 적용시켜보자.