promise vs callback

sohyeon kim·2022년 4월 30일
0

promise vs callback

자바스크립트에서 비동기 처리를 할 때 callback과 promise 를 사용한다.

Callback 의 경우 함수의 처리 순서를 보장하기 위해 함수를 중첩하게 상용되는 경우가 발생해 Callback hell 이라는 단점과 에러 처리가 힘들다는 단점이 있다.

그래서 나온 것이 Promise 이며 ES6부터 정식 채택되어 사용 중이다.

// Promise 객체의 생성
const promise = new Promise((resolve, reject) => {
// 비동기 작업을 수행한다.

if ( /* 비동기 작업 수행 성공 */) {
	resolve('result');
} else { /* 비동기 작업 수행 실패 */
    reject('failure reason');
}
});

비동기 처리에 성공하면 resolve 메서드를 호출해서 비동기 처리 결과를 후속처리 메서드로 전달한다.
비동기 처리에 실패하면 reject 메서드를 호출해서 에러 메세지를 후속처리 메서드로 전달한다.

후속처리 메서드로는 then, catch가 있으며 둘 다 Promise를 반환한다.
Promise는 then 을 가지고 메서드 체이닝을 통하여 Callback hell 문제를 해결할 수 있다.

profile
slow but sure

0개의 댓글