[JavaScript] 콜백 함수(CallBack Function)

뽕칠이·2024년 6월 16일

콜백함수란?

다른 함수에게 매개변수로 넘겨준 함수를 뜻한다.
매개변수로 전달 받은 함수는 일단 받고, 나중에 호출한다.

간단한 코드 보면 쉽게 이해할 수 있다.

function printMessage(func) {
	console.log("printing Message...");
  	func();
}

function sayName(name){
	console.log(`Hello ${name}`);
}

printMessage(sayName, "bbongchill");

이처럼 printMessage의 매개변수에 함수를 받을 수 있도록 되어있다.

매개변수 들어가는 함수가 바로 콜백함수다.

위 코드에서는 printMessage의 매개변수로 들어가는 sayName 함수가 콜백함수가 된다.

콜백의 단점

콜백 기반의 코드는 모든 작업을 함수 안에서 처리해야 한다. 그렇기 위해서는 함수 안에 콜백함수를 계속 작성해야 한다.

콜백이 계속 중첩되면 코드가 복잡해지고, 가독성도 떨어지게 된다. 이를 콜백 헬(CallBack Hell)이라고 한다.

function printMessage(func){
  console.log("printing Message...");
  func();
}

printMessage((name) => {
	sayName(name, (data) => {
    	console.log(`printing ${data}`);
    })
})

이를 해결하기 위해서 Promise가 등장했다.

0개의 댓글