
콜백 함수의 주요 사용 사례
1. 비동기 작업 완료 후 실행: 네트워크 요청이나 파일 I/O 작업 후 결과를 처리할 때
function requestData(callback) {
// 비동기 요청을 가정한 예제
console.log("데이터 요청 중...");
setTimeout(() => {
// 요청이 완료되었다고 가정하고 콜백 함수 호출
callback('데이터 수신 완료');
}, 2000); // 2초 후 콜백 함수 실행
}
requestData((response) => {
console.log("응답:", response);
});
이 예에서 requestData 함수는 비동기 요청을 모방합니다. 요청이 완료되면 콜백 함수가 호출되고, 결과를 출력합니다.
// HTML 요소에 이벤트 리스너 추가
document.getElementById('myButton').addEventListener('click', function() {
console.log('버튼 클릭됨!');
});
여기서 addEventListener 함수는 두 번째 인자로 콜백 함수를 받습니다. 사용자가 버튼을 클릭하면 이 콜백 함수가 실행됩니다.
setTimeout(() => {
console.log("3초 후 실행");
}, 3000);
setTimeout 함수는 첫 번째 인자로 받은 콜백 함수를 지정된 시간(여기서는 3000 밀리초 후) 후에 실행합니다.
제어권 이양의 핵심 요소
예시
const numbers = [1, 2, 3, 4];
const doubled = numbers.map(function(item) {
return item * 2; // 콜백 함수에서 반환된 값은 새 배열의 요소가 됩니다.
});
console.log(doubled); // [2, 4, 6, 8]
console.log("처리 시작");
setTimeout(function() {
console.log("지연 처리");
}, 2000); // 2000밀리초(2초) 후에 콜백 함수 실행
console.log("처리 종료");