jquery deferred 예제

따라서 위의 getData 호출 예제는 다음과 같습니다: 예를 들어 이벤트 기반 비동기 API인 XHR API를 사용하는 코드는 다음과 같이 보입니다: 많은 JavaScript 개발자는 다른 도메인에서 데이터를 가져오려고 할 때 $.ajax를 처음 사용하려고 할 때 놀라움을 금치 않습니다. 실패. 예를 들어 타사 API에서 데이터를 가져오려고 시도하고 요청이 일관되게 실패하는 것을 발견할 수 있습니다. jqXHR 개체는 단순히 “지연”의 특별한 맛입니다. jQuery를 사용하면 비동기 코드를 관리하는 강력한 방법이 될 수 있는 고유한 지연을 만들 수 있습니다. 지연은 비동기 작업의 최종 성공 또는 실패에 대응하고 깊이 중첩된 콜백의 필요성을 줄이는 수단을 제공합니다. 우리는 지연을 사용하여 훨씬 더 잘 할 수 있습니다 (단순화를 위해 다음 코드는 단일 요소와 단일 이벤트 유형에 대해서만 작동하지만 여러 이벤트 유형이있는 본격적인 컬렉션에 대해 쉽게 일반화 될 수 있습니다): getData()가 호출 될 때, 먼저 새 jQuery.Deferred 개체(1)를 만들고 Promise(2)를 반환하여 호출자는 완료 및 실패 함수를 등록할 수 있습니다. 그런 다음 XHR 호출이 반환되면 지연된(3.1)을 해결하거나 거부합니다(3.2). deferred.resolve를 수행하면 모든 done(…) 함수 및 기타 약속 함수(예: 다음 및 파이프)가 트리거되고 호출하면 모든 fail() 함수가 호출됩니다. JSON은 데이터의 문자열 표현입니다. 일반 JavaScript 개체처럼 보이지만 일반 JavaScript 개체가 나타낼 수 있는 데이터의 하위 집합을 나타내는 데만 사용할 수 있습니다. 예를 들어 JSON은 함수 또는 날짜 개체를 나타낼 수 없습니다.

다음은 JSON 문자열의 예입니다. 모든 속성 이름을 인용하는 방법: jQuery.Deferred 메서드는 메서드가 반환되기 직전에 호출되고 새 지연된 개체를 이 개체와 함수의 첫 번째 인수로 전달되는 선택적 함수를 전달할 수 있습니다. 호출 된 함수는 예를 들어, 예를 들어, .then(를 사용 하 여 콜백을 연결할 수 있습니다.) 제공된 메서드의 수량으로 인해 이 문서에서 는 모든 메서드를 다룰 수 없습니다. 그러나 다음 섹션에서는 지연 및 약속 사용의 몇 가지 예를 보여 드리겠습니다. 첫 번째 예제에서는 “jQuery에서 콜백” 섹션에서 검사하는 스니펫을 다시 작성하지만 콜백을 사용하는 대신 이러한 개체를 사용합니다. 두 번째 예제에서는 논의된 생산자-소비자 비유를 명확히 설명하겠습니다. 대부분의 경우 지연된 카드를 반환하는 경우 지연된 소비자가 이를 해결하거나 거부할 수 있기를 원하지 않습니다. 이 경우 약속을 반환합니다. jQuery의 용어에서 약속은 읽기 전용 지연입니다. 약속을 사용하면 콜백을 첨부하고 지연 된 상태를 요청할 수 있지만 상태를 변경하라고 말할 수는 없습니다(예:

カテゴリー: 未分類   パーマリンク

コメントは受け付けていません。