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

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

Linda Hamilton
リリース: 2024-10-29 08:20:30
オリジナル
805 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート