어떻게 하면 jQuery Promise를 사용하여 세 개의 비동기 호출을 연결하고 그 사이에 데이터를 전달할 수 있나요?
순차적으로 실행해야 하는 세 개의 HTTP 호출을 처리할 때 jQuery Promise를 활용하여 호출을 연결하고 데이터 전송을 촉진하는 것을 고려하세요.
처음에는 두 함수에 대해 지연된 객체를 사용하려고 시도하면 부분적인 해결책이 나옵니다. 그러나 이 접근 방식을 세 가지 함수로 확장하려면 다른 전략이 필요합니다.
호출 연결 및 데이터 전달
각 호출에서 $.ajax에 의해 생성된 jqXHR 개체를 반환합니다. (). 이러한 객체는 Promise 인터페이스를 준수하며 .then()/.done()/.fail()/.always()를 사용하여 연결될 수 있습니다.
<code class="javascript">function first() { return $.ajax(...); } function second(data, textStatus, jqXHR) { return $.ajax(...); } function third(data, textStatus, jqXHR) { return $.ajax(...); }</code>
주 함수 내에서 다음과 같이 함수를 연결합니다. .then()은 다음과 같습니다.
<code class="javascript">function main() { first().then(second).then(third); }</code>
후속 함수에 전달된 data, textStatus 및 jqXHR 인수는 이전 함수의 $.ajax() 호출에서 시작됩니다. 이를 통해 각 함수는 이전 호출의 출력에 액세스하고 활용할 수 있습니다.
설명을 위해 아래 데모에서는 $.ajax(...) 대신 $.when('foo')를 사용하여 다음을 제공합니다. 약속 이행.
<code class="javascript">function main() { $.when('foo').then(second).then(third); }</code>
이러한 방식으로 약속을 연결하고 데이터를 전달하면 세 가지 비동기 호출을 동기적이고 효과적으로 실행할 수 있습니다.
위 내용은 jQuery Promise를 사용하여 비동기 호출을 연결하고 호출 간에 데이터를 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!