콜백 (Callback)

lbr·2022년 7월 8일
0

콜백(Callback)

함수의 인수로 사용되는 함수입니다.

콜백함수의 활용 예

예) setTimeout(함수, 시간)

function timeout() {
 setTimeout(() => {
 	console.log('Heropy!');
 }, 3000); 
}
timeout();
console.log('Done!');

출력

Done!
//3초뒤  
Heropy!
  • 코드 작성순으로는 'Heropy!'가 출력된 후에 'Done!'이 출력되어야 하지만, 실제 출력은 'Heropy!'가 3초뒤에 나타나므로,
    'Done!'이 출력된 뒤에 'Heropy!'가 출력됩니다. 또는 낮은 확률로 'Heropy!' 가 먼저 출력될수도 있습니다.

타이머 함수의 실행이 전부 끝난 이후에 다음 로직이 실행되기를 확실히 보장받으려면 콜백이라는 것이 매우 유용하게 사용됩니다.

function timeout(callback) {
 setTimeout(() => {
 	console.log('Heropy!');
   	callback();
 }, 3000); 
}
timeout(() => {
	console.log('Done!');
});
  1. timeout();호출부의 인수로 새로운 화살표 함수를 넣어 줍니다. 이 때, 이 화살표 함수를 콜백함수라고 부릅니다.
  2. 콜백함수 내부에 실행할 로직을 담습니다.
  3. 콜백함수를 인수로 넣었으니 선언부에도 매개변수를 만들어 줍니다.
  4. 매개변수로 받은 그 콜백함수를 선언부안에 실행을 보장받고 싶은 그 장소에서 호출해줍니다.

콜백함수는 실행 위치를 보장하는 용도로 많이 활용됩니다.

0개의 댓글