ホームページ > 記事 > ウェブフロントエンド > 複数の Ajax リクエストの実行と戻りのシーケンスに関する議論の例
この記事では主に、複数の Ajax リクエストの実行順序と戻り値の問題について説明します。ajax に興味がある友人は、複数の リクエストの実行順序と戻り値の議論の例についての記事を参照してください。 Ajax リクエスト
ビジネス イベント処理 プロセスでは、ボタンがクリックされたり、アクションをトリガーする他のイベント
が発生したりして、3 つ以上の Ajax リクエストを実行する必要がある場合がありますが、その順序について心配する必要があるかもしれません。 Ajax リクエストが実行される場合、Ajax リクエストの順序に問題がある場合があり、それがさまざまな問題を引き起こす可能性があります
たとえば、ajax1 と ajax2 という 2 つの Ajax イベントがあります
main
1 と呼ばれるメソッド呼び出し実行エントリ.
上記の方法に従うと、ajax1が先に実行され、ajax2が後に実行されるようです。よく考えないと、最初に ajax1 が実行され、次に ajax2 が実行されると考える人もいるでしょう。本当にそうなのでしょうか。
答えは必ずしもそうとは限りません。もちろん、実行と戻りの順序を必要としない ajax リクエストが複数ある状況では、誰が最初に実行し、誰が最初に返すかをあまり考える必要はありません
ajax イベント
この場合、どうすれば解決できますか? ajax イベント
function main(){ ajax1(data,callback); ajax2(data,callback); }
function main(){ ajax1( data , ajax2( ) ); }
。
この状況では、ajax2 が最初に実行され、最初に完了することが満足できると思いますか?
よく考えてみれば答えが見つかります
さて、この問題を解決する方法です。 ajax2 が ajax1 よりも前に終了していることを確認する方法です。
それを認める これは解決策ですが、それが非常に古いプロジェクト、つまり数年前から行われているプロジェクトの場合です。内部の呼び出しは複雑なので、このバグを修正するために単純に解決するだけで、複数のバグが発生する可能性がありますので、それを解決する良い方法はありますか?
確かに、解決するのは簡単ですが、仕事の経験が不十分な人は、それをすぐに考えることはほとんどなく、何が何でも急いで問題を解決するために以前の方法を使用するだけです。
そして私は比較的愚かな方法を採用しました、そして、それを一度実行するためにsetTimeOut
Timer
を使用しました、しかし、誰もがこの問題を知っているはずです、幸いなことに、このAjaxがどれくらい実行されるかは誰にもわかりません。マスター、私を指導してください。
配列のソートを忘れないでください
? これについて言うと、これが配列のソートとどのような関係があるのか気になるかもしれません。答えは以下で説明します
このコードはすべてを説明しています:
function main(){ aa(data); ajax1(data,callback); } function aa(val){ var data=val+"";//这里是对传入数据进行修改,封装,当然这里是随便写的 ajax2(data,ajax2Callback); } function ajax2Callback(){ console.log("=====回调函数ajax2Callback()执行========"); console.log("=====这里正在执行ajax执行完毕后必须执行的操作========"); }
AJax は、Baidu 検索バーと同様の機能を実装します ajax シリーズの最初の部分で XHR オブジェクトを深く理解します
以上が複数の Ajax リクエストの実行と戻りのシーケンスに関する議論の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。