프로그래밍 언어/jQuery, ajax

jQuery 지연 및 약속 - .then () vs .done ()

Rateye 2021. 9. 3. 10:37
728x90
반응형

 

질문 : jQuery 지연 및 약속-.then () 대 .done ()

나는 jQuery 지연 및 약속에 대해 읽었으며 성공적인 콜백을 위해 .then().done() Eric Hynds.done().success() 가 동일한 기능에 매핑된다는 것을 알고 있지만 모든 콜백이 성공적인 작업 완료시 모두 호출 .then()

누구든지 올바른 사용법을 가르쳐 주시겠습니까?

답변

done() 연결된 콜백은 지연이 해결 될 때 발생합니다. fail() 연결된 콜백은 지연이 거부 될 때 시작됩니다.

jQuery 1.8 이전에는 then() 은 단지 구문 적 설탕이었습니다.

promise.then( doneCallback, failCallback )
// was equivalent to
promise.done( doneCallback ).fail( failCallback )

1.8부터 then() pipe() 의 별칭이고 새로운 promise를 반환합니다. pipe() 에 대한 자세한 내용 은 여기를 참조하십시오.

success()error() ajax() 호출에 의해 반환 된 jqXHR 객체에서만 사용할 수 있습니다. done()fail() 대한 간단한 별칭입니다.

jqXHR.done === jqXHR.success
jqXHR.fail === jqXHR.error

또한 done() 은 단일 콜백에 국한되지 않고 비 함수를 필터링합니다 (버전 1.8의 문자열에 버그가 있지만 1.8.1에서 수정해야 함).

// this will add fn1 to 7 to the deferred's internal callback list
// (true, 56 and "omg" will be ignored)
promise.done( fn1, fn2, true, [ fn3, [ fn4, 56, fn5 ], "omg", fn6 ], fn7 );

fail() 마찬가지입니다.

출처 : https://stackoverflow.com/questions/5436327/jquery-deferreds-and-promises-then-vs-done
728x90
반응형