JavaScript Promise

kimjh96·2021년 8월 5일
0

Promise 란 JavaScript 의 비동기 처리에 사용되는 객체이다. 비동기 처리를 실행하고 그 처리가 끝난 후 다음 처리를 실행하기 위한 용도로 사용된다.

Promise 를 사용하는 이유

기존에는 예를들어 콘솔에 "A", "B", "C" 라는 문자를 1초마다 순차적으로 표시하고자 하면 아래의 코드와 같이 callback 이라는 콜백 함수와 setTimeout 을 이용하여 slepp 함수 내에서 sleep 함수를 중첩하여 호출하는 방식으로 비동기 처리의 실행 순서를 제어했다.

function sleep(callback) {
    setTimeout(function() {
    	callback();
    }, 1000);
}

sleep(function() {
    console.log("A");
    slepp(function() {
    	console.log("B");
        sleep(function() {
           console.log("C");
        });
    });
})

하지만 이는 함수를 여러 개 중첩하면 중첩할 수록 코드를 이해하기 어려워지고 에러에 대한 예외처리 또한 어려워지게 된다. 이것을 콜백 지옥이라고 부른다. 이러한 문제를 해결하기 위해 Promise 를 사용하여 비동기 처리를 간결하게 한다.

0개의 댓글