ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery Promise を使用して 3 つの非同期呼び出しを連続的にチェーンする方法は?

jQuery Promise を使用して 3 つの非同期呼び出しを連続的にチェーンする方法は?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-29 08:20:30788ブラウズ

How to Chain Three Asynchronous Calls Sequentially with jQuery Promises?

jQuery Promises を使用した 3 つの非同期呼び出しの連鎖

3 つの非同期 HTTP 呼び出しを順番に実行し、1 つの呼び出しからデータを渡します。次へ。提供されたコードは 2 つの関数に対して遅延オブジェクトを使用していますが、3 つの関数に対して拡張が必要です。

それぞれのケースで、$.ajax() によって生成された jqXHR オブジェクトを返します。これらのオブジェクトは Promise と互換性があり、.then()/.done()/.fail()/.always() によるチェーンが可能です。このシナリオでは、.then() が適切です。

<code class="javascript">function first() {
   return $.ajax(...);
}

function second(data, textStatus, jqXHR) {
   return $.ajax(...);
}

function third(data, textStatus, jqXHR) {
   return $.ajax(...);
}</code>

「main」関数では、.then() を使用して関数を連鎖させます。

<code class="javascript">function main() {
    first().then(second).then(third);
}</code>

引数データ、 textStatus と jqXHR は、前述の関数の $.ajax() 呼び出しから発生します。つまり、first() は Second() を提供し、Second() は third() を提供します。

(説明のために、$ の代わりに $.when('foo') を使用して、満たされた Promise を生成します。 ajax(...)).

以上がjQuery Promise を使用して 3 つの非同期呼び出しを連続的にチェーンする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。