ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery Promise を使用して 3 つの非同期呼び出しを連続的にチェーンする方法は?
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 サイトの他の関連記事を参照してください。