SeouliteLab

jQuery의 deferred.catch() 메서드 본문

카테고리 없음

jQuery의 deferred.catch() 메서드

Seoulite Lab 2024. 3. 31. 00:16

jQuery의 deferred.catch() 메서드는 비동기 작업에서 발생한 실패를 처리하는 데 사용됩니다. 이 메서드를 사용하면 비동기 작업 중 발생한 오류를 감지하고 처리할 수 있습니다. 이제 deferred.catch() 메서드에 대해 자세히 살펴보고 여러 예제를 통해 이해해보겠습니다.

deferred.catch() 메서드 이해하기

deferred.catch() 메서드는 비동기 작업 중 발생한 실패를 처리하기 위해 사용됩니다. 이 메서드를 사용하면 비동기 작업이 실패했을 때 실행할 콜백 함수를 등록할 수 있습니다.

구문:

deferred.catch(failCallback);
  • failCallback: 비동기 작업이 실패했을 때 실행되는 콜백 함수입니다.

이제 몇 가지 예제를 통해 이 메서드의 사용법을 살펴보겠습니다.

예제:

예제 1: 비동기 작업 실패 처리

$.ajax({
  url: "example.php",
  success: function() {
    console.log("요청 성공");
  },
  error: function() {
    console.log("요청 실패");
  }
}).catch(function(error) {
  console.log("에러 발생:", error);
});

출력:

// 요청 실패 시
요청 실패
에러 발생: error message

// 요청 성공 시
요청 성공

예제 2: Deferred 객체 사용

var deferred = $.Deferred();

deferred.done(function() {
  console.log("완료");
}).fail(function() {
  console.log("실패");
}).catch(function(error) {
  console.log("에러 발생:", error);
});

// deferred.resolve(); // 성공
deferred.reject("예외 발생"); // 실패

출력:

// 실패 시
실패
에러 발생: 예외 발생

// 성공 시
완료

예제 3: Promise 반환 값이 오류인 경우

var promise = Promise.reject("오류 발생");

promise.catch(function(error) {
  console.log("에러 발생:", error);
});

출력:

에러 발생: 오류 발생

deferred.catch() 메서드를 사용하면 비동기 작업 중 발생한 실패를 감지하고 적절하게 처리할 수 있습니다. 이를 통해 오류 처리 로직을 간편하게 구현할 수 있습니다.