jQuery Callbacks


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 요청의 성공, 오류, 완료 시점에서의 콜백, 애니메이션이 끝난 후의 콜백, 이벤트 발생 시점의 콜백 등을 통해 다양한 상황에서 콜백 함수를 활용할 수 있습니다. 이를 통해 코드의 유연성과 반응성을 높이고, 사용자 경험을 개선할 수 있습니다.


Leave a Reply

Your email address will not be published. Required fields are marked *