핵심 답변
콜백 함수는 다른 함수에 매개변수로 넘겨주는 함수를 뜻합니다.일반적으로 비동기 작업이 완료됐을 때 호출되도록 등록됩니다.
javascript
function doSomething(callback) {
console.log('doing...');
callback(); // 콜백 함수 호출
}
doSomething(() => console.log('done!'));콜백 지옥(Callback Hell)
콜백을 중첩하면 코드가 복잡해집니다. Promise와 Async/Await이 이 문제를 해결하기 위해 등장했습니다.
javascript
// 콜백 지옥 예시
getUser(id, (user) => {
getOrders(user, (orders) => {
getItems(orders[0], (items) => {
console.log(items); // 계속 중첩...
});
});
});