2つの異なるXML要求からいくつかのデータを取得している場合、両方の要求が同時に行われると、どのようにして特定の作業を開始できますか?2つのXML要求の結果を同時に処理する方法
答えて
あなたが解決している問題は、非同期タスクを調整することです。コールバックでこれを実現できます。
各要求が完了すると、すべての出力が処理されるコールバック関数が実行されるようにします。ここで
は、コールバックです:
function allDone(){
if ! (completedRequests < totalRequests) return;
//If we get here, all calls are complete.
//Add code here to work on your retrieved XML data.
}
ここでは、XMLを取得カウンタをインクリメントし、allDone()
を呼び出す例です。
function requestXML(url) {
var dataToReturn;
$.ajax({
type: "GET",
url: "url",
cache: false,
dataType: "xml",
success: function(xml) {
dataToReturn=xml;
completedRequests += 1; //increment the count
allDone(); //call the callback
}
});
return dataToReturn;
}
var totalRequests=2; //There are going to be two requests, but we could easily extend this number.
var completedRequests=0; //here's the incrementing value
//Here are the two requests
var xml1=requestXML("xml_source1");
var xml2=requestXML("xml_source2");
allDone()
は「totalRequests」回と呼ばれます。最後のものを除くすべての呼び出しは `allDone()から直ちに戻ります。最後に呼び出されると、すべての要求が完了するとコードが実際に実行されます。
マイケルケイの優れた点をこの解決策でより明確にするために、この回答をリファクタリングしました。
ありがとうございます。 –
N個のリクエストがある場合は、アイデアを明らかな方法で拡張するだけです(例:カウンタをNに初期化し、タスクが終了するたびにデクリメントする。 –
もう一度ありがとうございます。 –
- 1. 2つの結果で同時に2つの検証を行う方法
- 2. Firebaseの結果を非同期で処理する方法
- 3. PHPで検索結果ごとに2つのラジオボタンを処理する方法
- 4. tomcatが同時に複数の同時要求を処理する方法はありますか?
- 5. 角2のクロスオリジン要求を処理する方法
- 6. 2つの同時接続/要求ロック
- 7. Aurelia:ビューで非同期要求を処理する方法は?
- 8. 2つの結果のSIGTERMを処理する
- 9. 検索時に2つの結果を許可する方法
- 10. 同時に2つのウェブサイトからログアウトする方法 - PHPセッション処理
- 11. クエリパラメータとxmlファイルの両方で投稿要求を処理する方法
- 12. 角4 - 同時に2つのイベントを処理する
- 13. ORMLite - 参加結果の処理方法
- 14. 要求ループの処理方法は?
- 15. ノード要求の処理方法
- 16. 2つ目のクエリが最初のクエリの結果を取得するときに2つの非同期クエリを処理するときに行う処理
- 17. 同時に複数の要求を処理するSOAPサーバー用のPythonライブラリ?
- 18. 同時に2つのアサーションを管理する方法
- 19. ES6での非同期要求処理
- 20. Nodejsはシングルスレッドですが、同じ同時要求を1秒間に処理する方法
- 21. RestAPIへのデータ要求時にインターネット接続を処理する方法
- 22. 2つの要素を同時にクリックする方法
- 23. JavaScriptで非同期関数の結果を処理する方法
- 24. 複数のリクエストを同時に処理し、結果をKlein Module Pythonで返す
- 25. オープン2つの結果セットを同時に
- 26. 異なるクライアントからの複数の同時要求を処理する方法は?
- 27. asp.netはどのように同時ユーザー要求を処理しますか?
- 28. Springブートアプリケーションは複数の要求を同時に処理できますか?
- 29. 大量の保留中の要求を処理する方法
- 30. Djangoの要求変数を処理する最良の方法
あなたは私たちに何らかのコードを表示していませんが、私が示唆していることは約束を調べることです。 – Keith