CallBack함수란?
- 콜백함수는 다른함수가 실행을 끝낸 뒤 실행되는 callback되는 함수를 말한다.
그리고 함수를 만들 때, 파라미터를 함수로 받아서 쓸 수 있는데 그 함수는 callback이다.
조금 더 자세히 말하면 js에서 함수는 object라고 한다. 그래서 함수는 다른 함수의 인자로 쓰일 수도 혹은 어떤 함수에 의해 리턴될 수도 있다. 이런 함수를 고차 함수라고 한다. 결국, 인자로 넘겨지는 함수를 콜백함수라고 한다.
함수를 미리 등록해 놓고 어떤 이벤트가 발생했거나 특정시점에 도달했을 때 시스템에서 호출하는 함수를 말한다.
예제를 함께 보자
const func = (callback) => {
callback()
}
const callback = () => {
console.log("Callback")
}
func(callback); // 결과 : Callback
콜백함수의 기본형태이다. 함수 func를 호출했을 때, 밑에있는 특벙 callback함수가 실행된다.
콜백함수가 필요한 이유
- 콜백함수를 설명할 때에는 변수의 유효범위(scope)에 대한 이야기, 동기/비동기 처리에 대한 이야기가 더해지면 좋음
- 동기 : 하나의 요청이 들어오면 완료가 된 이후 다음 요청을 실행하는 방식
- 비동기 : 어떤 요청이 오면 완료가 되기 전에 다음 요청을 실행하는 방식
- 동시 효율적 처리가 가능, 즉시 응답이 안되므로 예상 밖 결과가 나올 수도 있다.
콜백함수의 기본적인 개념을 다룬 내용이므로 콜백함수의 여러 예제와 함께보면 더 많은 도움이 될 것 같다.