Notice
Recent Posts
Recent Comments
Link
SeouliteLab
jQuery의 deferred.promise() 메서드: 비동기 작업 결과 처리와 관리 본문
jQuery의 deferred.promise()
메서드는 Deferred 객체의 상태와 결과를 처리하는 데 사용됩니다. 이 메서드를 사용하여 비동기 작업의 결과를 다루고, 성공 및 실패 콜백을 지정할 수 있습니다. 이제 deferred.promise()
메서드에 대해 자세히 알아보고 예제를 통해 이해해보겠습니다.
deferred.promise()
메서드 이해하기
deferred.promise()
메서드는 Deferred 객체를 반환합니다. 이를 통해 비동기 작업의 상태와 결과를 관리하고 다룰 수 있습니다. 이 메서드를 사용하여 비동기 작업의 성공 및 실패에 대한 처리를 구성할 수 있습니다.
구문:
deferred.promise([target]);
target
(선택사항): 선택적으로 지정된 객체에 Deferred 객체를 할당합니다.
예제:
예제 1: 성공 및 실패 콜백 지정
function asyncTask() {
var deferred = $.Deferred();
setTimeout(function() {
// 비동기 작업 완료
deferred.resolve("작업 완료");
// 실패 시: deferred.reject("작업 실패");
}, 2000);
return deferred.promise();
}
var promise = asyncTask();
promise.done(function(result) {
console.log("성공:", result); // 성공: 작업 완료
});
promise.fail(function(error) {
console.log("실패:", error); // 실패: 작업 실패
});
출력:
// 2초 후
성공: 작업 완료
예제 2: Deferred 객체 반환
function asyncTask() {
var deferred = $.Deferred();
setTimeout(function() {
deferred.resolve("작업 완료");
}, 2000);
return deferred.promise();
}
var promise = asyncTask();
console.log(promise); // Deferred 객체 반환
출력:
Deferred { state: "pending", always: function, then: function, ... }
예제 3: Deferred 객체를 다른 변수에 할당
function asyncTask() {
var deferred = $.Deferred();
setTimeout(function() {
deferred.resolve("작업 완료");
}, 2000);
return deferred.promise();
}
var promise = asyncTask();
var anotherPromise = promise;
console.log(anotherPromise === promise); // true
출력:
true
deferred.promise()
메서드를 사용하면 Deferred 객체를 반환하여 비동기 작업의 상태와 결과를 효과적으로 처리할 수 있습니다. 이를 통해 비동기 작업을 효율적으로 관리하고 성공 및 실패에 대한 처리를 구성할 수 있습니다.
'프로그래밍' 카테고리의 다른 글
jQuery Deferred.resolve() 메서드의 활용 예제와 설명 (0) | 2024.04.01 |
---|---|
jQuery Deferred.reject() 메서드 (0) | 2024.04.01 |
jQuery의 deferred.progress() 메서드: 비동기 작업의 진행 상태 모니터링 (0) | 2024.03.31 |
jQuery의 deferred.pipe() 메서드: 연속된 비동기 작업 처리 예제와 설명 (0) | 2024.03.31 |
jQuery의 deferred.notifyWith() 메서드: 컨텍스트 지정 예제와 설명 (0) | 2024.03.31 |