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

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

· 8년 전 · 1610

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

});

댓글 작성

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

로그인하기

게시글 목록

번호 제목
15935
15934
jQuery .first()
15933
15932
15931
15930
15929
15928
15924
15923
15922
15921
15920
15919
15917
15916
15915
15914
15913
15912
15911
15910
15909
15908
15907
15906
15901
15900
15899
15898