jQuery.Deferred()

· 2017-11-25 (토) 23:44:54 · 2644

jQuery.Deferred()

 

설명 : 다중 콜백을 콜백 대기열에 등록하고, 콜백 대기열을 호출하고, 동기 또는 비동기 함수의 성공 또는 실패 상태를 중계하는 메소드로 체인 가능 유틸리티 객체를 반환하는 팩토리 함수입니다.

jQuery.Deferred()공장은 새로운 생성 deferred객체를.

jQuery.Deferred메소드는 메소드가 리턴하기 전에 호출되고 새로운 전달되는 옵션 기능, 전달 될 수 deferred모두 같은 객체를 this객체와 함수의 첫 번째 인수로합니다. 호출 된 함수는 deferred.then()예를 들어 콜백을 첨부 할 수 있습니다 .

지연된 개체는 보류 상태 에서 시작됩니다 . 모든 콜백으로 객체에 추가 deferred.then(), deferred.always(), deferred.done(), 또는 deferred.fail()나중에 실행하기 위해 대기하고 있습니다. 지연된 상태 를 호출 deferred.resolve()하거나 deferred.resolveWith()전환하여 확인 된 상태로 즉시 실행합니다 doneCallbacks. Deferred를 호출 deferred.reject()하거나 거부 상태 deferred.rejectWith()로 전환하고 설정된 모든 것을 즉시 실행합니다 . 객체가 해결되거나 거부 된 상태가되면 해당 상태로 유지됩니다. 콜백은 여전히 ​​해결되거나 거부 된 Deferred에 추가 될 수 있습니다. 즉, 즉시 실행됩니다.failCallbacks

jQuery Deferred를 사용한 향상된 콜백

JavaScript에서는 함수 내에서 호출되는 콜백을 선택적으로 허용하는 함수를 호출하는 것이 일반적입니다. 예를 들어, jQuery 1.5 이전 버전에서는 jQuery.ajax()성공, 오류 및 ajax 요청 완료시 가까운 시일 내에 잠시 호출 될 수있는 콜백 (accept callback) 과 같은 비동기 프로세스가 있었습니다.

jQuery.Deferred()콜백을 관리하고 호출하는 방법에 대한 몇 가지 개선 사항을 소개합니다. 특히 jQuery.Deferred()다중 콜백을 제공하는 유연한 방법을 제공하며 원래 콜백 디스패치가 이미 발생했는지 여부에 관계없이 이러한 콜백을 호출 할 수 있습니다. jQuery Deferred는 CommonJS Promises / A 디자인을 기반으로합니다 .

Deferred를 이해하는 한 가지 모델은 이것을 체인 인식 함수 래퍼라고 생각하는 것입니다. deferred.then(), deferred.always(), deferred.done(), 및 deferred.fail()방법이라고 할 수있는 기능을 지정하고 deferred.resolve(args)또는 deferred.reject(args)방법이 제공 한 인수를 사용하여 함수 "전화". Deferred가 해결되거나 거부되면 해당 상태로 유지됩니다. deferred.resolve()예를 들어 두 번째 호출 은 무시됩니다. deferred.then()예를 들어 Deferred가 해결 된 후에 더 많은 함수가 추가되면 이전에 제공된 인수를 사용하여 즉시 호출됩니다.

같은 jQuery를 API 호출은 이연 또는 약속 호환 개체를 반환 대부분의 경우에 jQuery.ajax()또는 jQuery.when(), 당신은 단지 사용하기를 원할 것입니다 deferred.then(), deferred.done()그리고 deferred.fail()의 이연 큐에 콜백을 추가하는 방법을. Deferred를 생성 한 API 호출 또는 코드의 내부는 호출 deferred.resolve()되거나 deferred.reject()지연되는 시점에서 적절한 콜백을 실행합니다.

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

개발자팁

5,403건

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

+
분류 제목 글쓴이 날짜 조회
jQuery 18-01-25 조회 4,529
JavaScript 18-01-24 조회 8,556
기타 18-01-24 조회 2,812
웹서버 18-01-24 조회 3,064
기타 18-01-22 조회 7,854
기타 18-01-22 조회 5,779
웹서버 18-01-18 조회 6,884
PHP 18-01-12 조회 6,386
jQuery 18-01-10 조회 3,888
jQuery 18-01-10 조회 2,777
jQuery 18-01-10 조회 3,435
MySQL 18-01-08 조회 3,589
jQuery 18-01-08 조회 2,925
jQuery 18-01-08 조회 3,154
jQuery 18-01-08 조회 4,872
PHP 18-01-05 조회 4,811
jQuery 18-01-04 조회 4,609
jQuery 18-01-04 조회 3,243
jQuery 18-01-04 조회 2,688
jQuery 17-12-06 조회 2,869
jQuery 17-12-06 조회 3,638
jQuery 17-12-06 조회 3,460
jQuery 17-12-04 조회 2,839
jQuery 17-12-04 조회 2,094
jQuery 17-12-04 조회 3,041
jQuery 17-12-04 조회 2,904
jQuery 17-11-25 조회 2,710
jQuery 17-11-25 조회 2,645
jQuery 17-11-25 조회 2,330
jQuery 17-11-24 조회 2,384