JavaScript 공부하기!

[javascript] 콜백(callback) 함수란?

hyer!! 2020. 12. 10. 23:14

1. 콜백 함수란 

 

callback 함수는 다른 함수의 매개변수로 함수를 전달하고, 어떤 이벤트가 발생한 후 매개변수로 전달한 함수가 다시 호출되는 것이다.

 

 

2. 콜백 함수를 사용하는 이유 

 

특정 상황에서 함수가 동작하도록 만들 때 많이 사용한다.

어떤 기능을 다른 객체에게 시키고, 그 기능이 끝날 때까지 기다리지 않고 다른 기능을 작동하도록 사용하기 위해 사용한다.

이것을 비동기 방식(non-block)이라고 부른다.

 

 

3. 사용법

 

function InputData(data){
	console.log(data);
}


function getData(input, callback){
	inputValue = input + '이 입력되었습니다.';
    callback(inputValue);
}


getData('감사합니다', InputData);

 

자바스크립트의 언어 특성상 함수 두 개를 나란히 작성한다고 해서 차례대로 동작하지 않는다.

그래서 getData라는 함수에서 콜백함수를 받는 형식으로 사용하여 

InputData함수는 getData함수에서 데이터를 입력받았을 때만 작동하게 만든다.

함수를 실행시킬 때 getData 함수안에 매개변수로 InputData함수를 넣어주는 방식으로 사용한다.

 

 

끝!!

많이 써봐야 익숙해질 거 같다ㅎㅎ