콜백 call back
function sortNumber(a,b){
return a-b;
}
var numbers = [20, 10, 9,8,7,6,5,4,3,2,1];
alert(numbers.sort(sortNumber));
- 콜백 함수란, 어떤 이벤트가 발생한 후 수행될 함수를 말한다. 보통 setTimeout 을 이용해서 1초나 2초 뒤에 출력되는 함수로 많이 이용한다.
- 위 예시는 1, 2, 3, 4, 5 순으로 정렬된다.
- sort라는 함수가 가지고있는 첫번째 인자로 전달될 함수에게 기대하는 포맷을 지켜야한다.
- sort 메소드는 return 값이 음수,양수,0인지에 따라서 순서를 정한다.
setTimeout
console.log('Hello');
setTimeout(function() {
console.log('Bye');}, 3000);
console.log('Hello Again');
- setTimeout 은 비동기 방식으로 실행되기 때문에 위의 예시에서 Hello, Hello Again, Bye의 순서로 출력된다. (Bye가 3초 있다가 출력되기 때문에)
비동기처리와 Ajax
function getData() {
var tableData;
$.get('https://domain.com/products/1', function(response) {
tableData = response;
});
return tableData;
}
console.log(getData());
콜백함수를 사용한 ajax 코드의 예시
function getData(callbackFunc) {
$.get('url 주소/products/1', function(response) {
callbackFunc(response);
});
}
getData(function(tableData) {
console.log(tableData);
});