deferred.then (doneFilter [, failFilter] [, progressFilter])
deferred.then (doneFilter [, failFilter] [, progressFilter])
설명 : Deferred 객체가 확인, 거부 또는 진행 중일 때 호출 할 처리기를 추가합니다.
모든 시그니처에 대해 null해당 유형의 콜백 이 필요하지 않은 경우 인수가 될 수 있습니다 . 대안 적으로, 사용 .done(), .fail()또는 .progress()상태 또는 값을 필터링하지 않고 콜백의 한 유형을 설정.
jQuery를 1.8으로 의 deferred.then()방법은 지금은 사용되지 않는 대신, 상태 및 기능을 통해 지연된의 값을 필터링 할 수있는 새로운 약속을 반환하는 deferred.pipe()방법을. doneFilter및 failFilter기능은 원래의 연기 해결 / 거부 상태와 값을 필터링 할 수 있습니다. progressFilter기능은 연기의 원본에 대한 호출 필터 notify나 notifyWith방법을. 이러한 필터 함수는 약속 .done()또는 .fail()콜백에 전달할 새 값을 반환하거나 해결 된 / 거부 된 상태 및 값을 약속의 콜백에 전달하는 다른 관찰 가능 객체 (지연된 약속, 약속 완료 등)를 반환 할 수 있습니다. 사용 된 필터 함수가null또는 지정되지 않은 경우 원본과 동일한 값으로 약속이 해결되거나 거부됩니다.
콜백은 추가 된 순서대로 실행됩니다. deferred.thenPromise를 반환하기 때문에 Promise 객체의 다른 메소드는 추가 .then()메소드를 포함하여이 객체에 연결될 수 있습니다 .
예 :
이 jQuery.get메소드는 Deferred 객체에서 파생 된 jqXHR 객체를 반환하기 때문에이 .then메소드를 사용하여 핸들러를 연결할 수 있습니다 .
$.get( "test.php" ).then(
function() {
alert( "$.get succeeded" );
}, function() {
alert( "$.get failed!" );
}
);
해결 값 필터링 :
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>deferred.then demo</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<button>Filter Resolve</button>
<p></p>
<script>
var filterResolve = function() {
var defer = $.Deferred(),
filtered = defer.then(function( value ) {
return value * 2;
});
defer.resolve( 5 );
filtered.done(function( value ) {
$( "p" ).html( "Value is ( 2*5 = ) 10: " + value );
});
};
$( "button" ).on( "click", filterResolve );
</script>
</body>
</html>
게시판 목록
개발자팁
질문은 QA에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 4766 | jQuery | 8년 전 | 1679 | ||
| 4765 | jQuery | 8년 전 | 1350 | ||
| 4764 | jQuery | 8년 전 | 2167 | ||
| 4763 | jQuery | 8년 전 | 1856 | ||
| 4762 | jQuery | 8년 전 | 1634 | ||
| 4761 | jQuery | 8년 전 | 1934 | ||
| 4760 | jQuery | 8년 전 | 1299 | ||
| 4759 | jQuery | 8년 전 | 1599 | ||
| 4758 | jQuery | 8년 전 | 1313 | ||
| 4757 | jQuery | 8년 전 | 1278 | ||
| 4756 | jQuery | 8년 전 | 1497 | ||
| 4755 | jQuery | 8년 전 | 1650 | ||
| 4754 | jQuery | 8년 전 | 1616 | ||
| 4753 | jQuery | 8년 전 | 1772 | ||
| 4752 | jQuery | 8년 전 | 1522 | ||
| 4751 | jQuery | 8년 전 | 1841 | ||
| 4750 | jQuery | 8년 전 | 1982 | ||
| 4749 | jQuery | 8년 전 | 1442 | ||
| 4748 | PHP | 8년 전 | 2811 | ||
| 4747 | jQuery | 8년 전 | 1393 | ||
| 4746 | jQuery | 8년 전 | 1649 | ||
| 4745 | jQuery | 8년 전 | 1657 | ||
| 4744 | jQuery | 8년 전 | 1537 | ||
| 4743 | jQuery | 8년 전 | 1614 | ||
| 4742 | jQuery | 8년 전 | 1707 | ||
| 4741 | jQuery | 8년 전 | 1599 | ||
| 4740 | jQuery | 8년 전 | 1610 | ||
| 4739 | jQuery | 8년 전 | 1798 | ||
| 4738 | jQuery | 8년 전 | 1315 | ||
| 4737 | jQuery | 8년 전 | 2099 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기