Notice
Recent Posts
Recent Comments
Link
SeouliteLab
jQuery Deferred.reject() 메서드 본문
jQuery의 Deferred.reject() 메서드는 Deferred 객체를 실패 상태로 변경하는 데 사용됩니다. 이를 통해 비동기 작업에서 오류 조건을 처리할 수 있습니다. 이를 더 자세히 살펴보기 위해 다음과 같은 예제들을 제시해보겠습니다.
예제 1: Ajax 요청 실패 시 처리
var deferred = $.Deferred();
$.ajax({
url: "https://example.com/api",
method: "GET",
success: function(response) {
deferred.resolve(response);
},
error: function(xhr, status, error) {
deferred.reject("Ajax 요청 실패: " + error);
}
});
deferred.promise()
.then(function(response) {
console.log("성공:", response); // 성공: {data: ...}
})
.fail(function(errorMessage) {
console.error(errorMessage); // Ajax 요청 실패: ...
});
위 코드에서는 Ajax 요청이 성공하면 resolve()를 호출하여 성공 상태로 Deferred 객체를 변경하고, 실패하면 reject()를 호출하여 실패 상태로 변경합니다. 그 후에 then() 및 fail()을 사용하여 각각 성공 및 실패 시에 대한 처리를 수행합니다.
예제 2: 타임아웃 처리
var deferred = $.Deferred();
setTimeout(function() {
deferred.reject("타임아웃");
}, 3000);
deferred.promise()
.then(function() {
console.log("작업 성공");
})
.fail(function(errorMessage) {
console.error("에러:", errorMessage); // 에러: 타임아웃
});
위 코드는 setTimeout을 사용하여 3초 후에 reject()를 호출하여 타임아웃 처리를 시뮬레이션합니다. 그 후 then() 및 fail()을 사용하여 적절히 처리합니다.
예제 3: 조건에 따른 실패 처리
function checkValue(value) {
var deferred = $.Deferred();
if (value === "올바른 값") {
deferred.resolve("값이 올바름");
} else {
deferred.reject("값이 올바르지 않음");
}
return deferred.promise();
}
checkValue("잘못된 값")
.then(function(message) {
console.log("성공:", message);
})
.fail(function(errorMessage) {
console.error("에러:", errorMessage); // 에러: 값이 올바르지 않음
});
위 코드에서는 함수 checkValue()를 사용하여 값이 올바른지 확인한 후, Deferred 객체를 이용하여 성공 또는 실패를 처리합니다.
이상으로 jQuery Deferred.reject() 메서드의 활용 예제와 설명을 살펴보았습니다.
'프로그래밍' 카테고리의 다른 글
jQuery Deferred.resolveWith() 메서드의 활용 예제와 설명 (0) | 2024.04.01 |
---|---|
jQuery Deferred.resolve() 메서드의 활용 예제와 설명 (0) | 2024.04.01 |
jQuery의 deferred.promise() 메서드: 비동기 작업 결과 처리와 관리 (0) | 2024.03.31 |
jQuery의 deferred.progress() 메서드: 비동기 작업의 진행 상태 모니터링 (0) | 2024.03.31 |
jQuery의 deferred.pipe() 메서드: 연속된 비동기 작업 처리 예제와 설명 (0) | 2024.03.31 |