비동기 처리란, 특정 코드의 연산이 끝날 때까지 코드의 실행을 멈추지 않고 다음 코드를 먼저 실행하는 자바스크립트의 특성임
function getData(callbackFunc) {
$.get('https://domain.com/products/1', function(response) {
callbackFunc(response); // 서버에서 받은 데이터 response를 callbackFunc() 함수에 넘겨줌
});
}
getData(function(tableData) {
console.log(tableData); // $.get()의 response 값이 tableData에 전달됨
});
이런 코드가 있을 때, callbackFunc라는 인자를 가지고 있는 함수 getData를 만든다는 것은 getData의 코드가 실행되고나서 인자로 넘어온 callbackFunc를 마저 실행한다는 얘기임
그래서 밑에 getData를 실행할 때, 인자로 넘겨줄 function을 바로 만들서 실행하는것임.
그러면 get으로 데이터를 불러올때까지 기다리고 이어서 console.log를 찍게됨