1 min to read
콜백함수
콜백함수란?
JS의 콜백함수는 다른 함수에 인수로 전달되고 나중에 콜백되거나 실행하는 함수임. 특정 이벤트나 작업이 완료된 후임. 이는 비동기식 동작을 허용하며 일반적으로 완료하는데 예측할 수 없는 시간이 걸릴 수 있는 작업을 처리하는데 사용함.
콜백함수의 예
function multiply(a , b, callback){
let result = a * b;
callback(result);
}
function logResult(result){
console.log(result);
}
multiply(3, 3, logResult);
콜백함수는 익명일 수도 있습니다.
multiply(
4,
5,
function(product){
console.log("The product is: "+product +".");
}
); // output:20
곱하기 함수를 호출하지만 ‘logResult()’ 와 같은 미리 정의된 함수 대신 인수로 전달할 익명 함수를 만듬.
콜백함수 규칙
-
인수로 전달됨. 콜백 함수는 다른 함수를 매개변수로 받아들이는 함수인 고차 함수에 인수로 전달되며 고차 함수가 나중에 콜백함수를 실행함.
-
완료 후 실행. 콜백 함수는 사용자 작업, 네트워크 응답, 타이머 만료 등 특정 이벤트나 작업 완료 후 수신 함수에 의해 실행됨.
-
비동기 작업 처리: 작업이 완료될 때까지 기다리는 동안 흐름이 계속되는 비동기 작업을 처리하는데 자주 사용됨. 작업 완료시 콜백함수가 트리거 되며 추가 처리 및 응답 처리가 가능함.
-
유연성 및 모듈성: 콜백함수를 인수로 전달해 유연한 모듈식 코드를 생성할 수 있음. 다양한 콜백 함수를 동일한 고차 함수에 전달할 수 있으므로 특정 컨텍스트나 요구 사항에 다양한 동작 및 사용자 정의가능.
-
오류 처리: 콜백 함수를 사용해 작업 실행 중 발생가능한 오류를 처리할 수있음.
-
외부 변수에 대한 클로저 및 액세스 : 콜백 함수는 클로저라고 알려진 주변 범위의 변수에 엑세스 할 수 있음.