테스트 사이트 - 개발 중인 베타 버전입니다

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

· 8년 전 · 1611

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

});

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
15786
15785
15784
15783
15782
15781
15780
15777
15776
15775
15774
15773
15772
15768
15767
15766
15763
15762
15761
15756
15753
15752
15751
15750
15749
15747
15746
15745
15744
15743