deferred.pipe ([doneFilter] [, failFilter]) > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

deferred.pipe ([doneFilter] [, failFilter]) 정보

jQuery deferred.pipe ([doneFilter] [, failFilter])

본문

deferred.pipe ([doneFilter] [, failFilter])


설명 : Deferreds를 필터링하거나 연결하는 유틸리티 메소드입니다.


Deprecation Notice : jQuery 1.8부터 deferred.pipe () 메소드는 더 이상 사용되지 않습니다. deferred.then()대신 이 방법을 사용해야합니다.


이 deferred.pipe()메소드는 함수를 통해 연기 된 상태와 값을 필터링하는 새로운 약속을 반환합니다. doneFilter및 failFilter기능은 원래의 연기 해결 / 거부 상태와 값을 필터링 할 수 있습니다. jQuery를 1.7로서 , 상기 방법은 또한 허용 progressFilter지연의 일본어에 대한 호출을 필터링하는 기능 notify이나 notifyWith방법. 이러한 필터 함수는 파이프 된 약속 done()또는 fail()콜백에 전달할 새 값을 반환하거나 해결 된 / 거부 된 상태 및 값을 파이프 된 약속의 콜백에 전달할 수있는 관찰 가능한 다른 개체 (지연된 약속, 약속 등)를 반환 할 수 있습니다. 사용 된 필터 함수가null지정되지 않은 경우, 파이프 된 약속은 원본과 동일한 값으로 해석되거나 거부됩니다.


예 :

필터 해결 값 :


var defer = $.Deferred(),

  filtered = defer.pipe(function( value ) {

    return value * 2;

  });

 

defer.resolve( 5 );

filtered.done(function( value ) {

  alert( "Value is ( 2*5 = ) 10: " + value );

});

필터 거부 값 :


var defer = $.Deferred(),

  filtered = defer.pipe( null, function( value ) {

    return value * 3;

  });

 

defer.reject( 6 );

filtered.fail(function( value ) {

  alert( "Value is ( 3*6 = ) 18: " + value );

});


체인 작업 :

var request = $.ajax( url, { dataType: "json" } ),

  chained = request.pipe(function( data ) {

    return $.ajax( url2, { data: { user: data.userId } } );

  });

 

chained.done(function( data ) {

  // data retrieved from url2 as provided by the first request

});

추천
0

댓글 0개

전체 5,352
개발자팁 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT