1.콜백 함수 (Callback Function)
다른 함수의 인자로 전달되어 실행되는 함수를 하는 말이다.
일반적으로 비동기 작업이나 이벤트 처리에서 사용되고 나중에 호출될 함수로서, 다른 함수의 실행 흐름에 끼어들어 특정 작업을 마친 후 실행된다.
// processData를 callback 함수로 받음
function fetchData(callback) {
setTimeout(() => {
const data = "Hello, World!";
callback(data); // 비동기 작업이 끝난 후 콜백 함수 호출
}, 1000);
}
function processData(data) {
console.log("Data received: " + data);
}
fetchData(processData); // fetchData 함수에 processData를 콜백으로 전달
1-1.콜백 지옥(callback hell)
여러 개의 콜백 함수가 중첩되면서 코드가 복잡해지고 가독성이 떨어지는 현상을 말함
//중첩되있어서 보기가 너무 힘듬
getData(function(data) {
processData(data, function(processedData) {
saveData(processedData, function(savedData) {
console.log("최종 결과: " + savedData);
});
});
});
//함수형프로그래밍으로 해결!
getData()
.then(data => processData(data))
.then(processedData => saveData(processedData))
.then(savedData => console.log("최종 결과: " + savedData))
.catch(err => console.log("에러 발생: " + err));
'Computer Science > 개발지식' 카테고리의 다른 글
[개발지식] 커링 (Currying) (0) | 2025.01.05 |
---|---|
[개발지식]함수형 프로그래밍 (Functional Programming, FP) (0) | 2025.01.05 |
[개발지식] Monad (0) | 2025.01.05 |