JavaScript/이론
[Javascript] 콜백, 비동기
sirius
2021. 3. 18. 10:19
콜백함수는 주로 함수 내부의 처리결과를 함수 외부로 내보낼 때 사용
function 함수명(callback) {
callback(결과)
}
콜백 함수를 사용해야 하는 경우는 처리 부분이 구현 부분과 분리되어야 하는 경우나 구현 부분은 하나로 하고 처리 부분을 다양하게 만든 후 실행 시에 연결해서 사용하는 경우에 적합
function callBack_plus(num1, num2, callback) {
callback(num1 + num2);
}
function result(result) {
console.log("두 수의 합은 " + result + " 입니다.");
}
callBack_plus(5, 5, result);
비동기 : 서버에서 응답 받아온 결과를 기다려 주지 않고 함수에서 return해 버리기 때문에 undefined가 발생
function requestServer() {
var result;
$.get("http:/google.com", function(response) {
result = response;
});
return result;
}
console.log(requestServer()); //undefined
콜백을 이용하여 비동기 처리 해결 : 서버에서 받아온 응답 결과를 콜백함수에 넘겨주어 실행
function requestServer(callback) {
$.get("http://google.com", function(response) {
callback(response);
});
}
requestServer(function(result) {
console.log(result);
});