jQuery 콜백 (Callbacks)
콜백이란 무엇인가? (What is a Callback?)
콜백 함수는 특정 작업이 완료된 후 실행되는 함수입니다. jQuery에서는 주로 비동기 작업, 애니메이션, 이벤트 처리 등에서 콜백 함수를 사용하여 작업이 완료된 후 추가 작업을 수행할 수 있습니다.
AJAX 콜백 (AJAX Callbacks)
AJAX 요청에서 콜백 함수는 서버로부터 데이터를 성공적으로 받았거나 오류가 발생했을 때 호출됩니다.
성공 콜백 (Success Callback)
성공 콜백 함수는 AJAX 요청이 성공적으로 완료되었을 때 실행됩니다. success 옵션을 통해 지정할 수 있습니다.
$.ajax({
url: 'https://api.example.com/data',
method: 'GET',
success: function(data) {
console.log('Success:', data);
// 추가 작업 수행
}
});
오류 콜백 (Error Callback)
오류 콜백 함수는 AJAX 요청이 실패했을 때 실행됩니다. error 옵션을 통해 지정할 수 있습니다.
$.ajax({
url: 'https://api.example.com/data',
method: 'GET',
error: function(jqXHR, textStatus, errorThrown) {
console.error('Error:', textStatus, errorThrown);
// 추가 작업 수행
}
});
완료 콜백 (Complete Callback)
완료 콜백 함수는 AJAX 요청이 성공 여부와 관계없이 완료되었을 때 실행됩니다. complete 옵션을 통해 지정할 수 있습니다.
$.ajax({
url: 'https://api.example.com/data',
method: 'GET',
complete: function(jqXHR, textStatus) {
console.log('Request completed:', textStatus);
// 추가 작업 수행
}
});
애니메이션 콜백 (Animation Callbacks)
jQuery 애니메이션 메서드에서도 콜백 함수를 사용할 수 있습니다. 애니메이션이 완료된 후 실행되는 콜백 함수를 지정하여 애니메이션이 끝난 후의 작업을 정의할 수 있습니다.
$('#myDiv').fadeOut(1000, function() {
// 애니메이션 완료 후 실행할 작업
alert('Fade out complete!');
});
이벤트 콜백 (Event Callbacks)
jQuery 이벤트 핸들러에서 콜백 함수는 특정 이벤트가 발생했을 때 실행됩니다. 이벤트 핸들러에 직접 콜백 함수를 지정하여 이벤트가 발생했을 때의 동작을 정의할 수 있습니다.
$('#myButton').click(function() {
// 버튼 클릭 시 실행할 작업
alert('Button clicked!');
});
콜백 함수의 사용 예제 (Callback Function Examples)
AJAX 예제
서버로부터 데이터를 가져오고, 가져온 데이터를 DOM에 삽입하는 예제입니다.
$.ajax({
url: 'https://api.example.com/data',
method: 'GET',
success: function(data) {
$('#content').html(data);
},
error: function(jqXHR, textStatus, errorThrown) {
console.error('Error:', textStatus, errorThrown);
},
complete: function() {
console.log('Request completed');
}
});
애니메이션 예제
요소를 서서히 나타나게 하고, 나타난 후 메시지를 표시하는 예제입니다.
$('#myDiv').fadeIn(1000, function() {
alert('Div is now visible');
});
이벤트 예제
버튼을 클릭했을 때 텍스트를 변경하는 예제입니다.
$('#myButton').click(function() {
$('#myDiv').text('Button was clicked!');
});
결론 (Conclusion)
콜백 함수는 jQuery에서 비동기 작업이나 이벤트 처리 후에 실행할 작업을 정의하는 데 매우 유용합니다. AJAX 요청의 성공, 오류, 완료 시점에서의 콜백, 애니메이션이 끝난 후의 콜백, 이벤트 발생 시점의 콜백 등을 통해 다양한 상황에서 콜백 함수를 활용할 수 있습니다. 이를 통해 코드의 유연성과 반응성을 높이고, 사용자 경험을 개선할 수 있습니다.
