의 jQuery deferred.promise () 메소드
예
지연 시간을 설정하는 임의의 두 개의 타이머는 느린 개체 해결 (해결) 및 거절 (거부)하는 데 사용됩니다
$ (함수 () {
기능 asyncEvent () {
VAR DFD는 새로운 = . 해결 (해상도 상태) 후 임의의 시간 간격 //; jQuery를) (이연
에서는 setTimeout (함수 () {
. DFD의 해결 ( "환호");}, 수학 층 ( 400 + 수학 랜덤 () * 2000)); // 임의의 시간 간격 후 거부 (주 거부)
에서는 setTimeout (함수 () {
. DFD} ;. ( "죄송합니다"), 수학 바닥 거부 ) (*) 2000 400 + 수학 무작위을 (); //은 두 번째는 "작업 ..."메시지가 매 30를 표시
에서는 setTimeout (함수 작업 () {
면 ( DFD. 상태 () ===는 "보류 " ) {
. DFD ( "작업 ..."통지 )에서는 setTimeout이 (500 일);}
}, 1); 약속 개체를 반환 // 발신자는 느린 개체를 변경할 수 없습니다
반환 . DFD의 약속 ();}
// 비동기 함수는 완료, 실패, 진행 핸들러를 첨부 $. 때 ( asyncEvent () ). 다음 (
기능 (상태) {
경고 ( 상태 + '는 일이 잘되어 가고있다' );}, 기능 (상태) {
경고 ( 상태 + ', 당신은 실패 이번에' );}, 기능 (상태) {$ ( "몸") APPEND (상태);}
);})
»시도
정의 및 사용
deferred.promise () 함수는 이연 (지연) 약속 개체를 반환합니다.
참고 :이 방법은 내부 요청 다른 코드 (진행) 또는 주 (상태)에 간섭하는 진행을 방지하는 비동기 기능을 허용하십시오.
2. 만 그룹 포함, 이연 객체를 포함 :) (항상 isResolved (), isRejected (), () 실패, ()을, (다),이 방법은 지연된 상태를 관찰 할 수 있고, 변경할 수 없습니다 객체의 지연된 내부 상태.
3. deferred.promise ()는 대상 매개 변수를 한 후 수신 대상이 주어집니다 약속 방법을 수락, 오히려 새로운 개체를 만드는 것보다, 결과로 반환 할 수 있습니다.
문법
deferred.promise( [target ] )
参数 | 描述 |
---|---|
target | Object类型 绑定 promise 方法的对象。 |
더 많은 예제
사용 대상 파라미터
기존 개체가 약속 촉진, 대상 매개 변수를 사용하여