자바스크립트에서 일반적으로 사용되는 함수 패턴 중 하나로,
다른 함수에 인자로 넘겨진 함수 또는 함수 안에서 실행하는 또 다른 함수 라고 할 수 있다.
대부분 비동기적인 작업에 유용하게 사용된다.
function add(a, b, callback) {
const result = a + b;
callback(result);
}
function print(result) {
console.log('결과: ' , result);
}
add(1,2, print); // 결과: 3
'add' 함수는 두 숫자를 더한 후, 인자로 받은 콜백 함수 'print' 를 호출 한다.
getUserInfo(1, printUserInfo);
function getUserInfo(userId, callback) {
$.ajax({
type: 'GET',
url: `/api/users/${userId}`,
success: function(res) {
callback(res.data.userInfo);
}
});
};
function printUserInfo(userInfo) {
console.log(userInfo);
};