私は Web サイトで作業しており、コードのある時点で AJAX 呼び出しを行います。
PART(I)
for (var i = 0; i < arr.length; i++){
var id = arr[i].id;
makeXHRRequest(id);
}
makeXHRRequest()
関数は次のようなものです
。
PART(II)
function makeXHRRequest(id){
var jsonArg = ["id", id];
var jsonString = JsonBuilder(jsonArg);
var requestUrl = getUrl();
$.ajax({
url: requestUrl,
type: "POST",
contentType: 'application/json',
data: jsonString,
datatype: "json",
processdata: false,
success: function (result, status) {
console.log(result);
// TODO check if result is valid
if(result == null || result == ""){
//...
}else{
for(var i = 0; i < parent.arr.length; i++){
for(var j = 0; j < count; j++){
// !!!!! make another ajax call !!!!!!!!
makeAnotherXHRRequest(id);
}
}
}
}
},
error: function (xhr, ajaxOptions, thrownError) {
console.log("in get groupUsers fail");
}
});
}
これらはネストされた AJAX 呼び出しであることに注意してください - >part(I)
上記で行われた各 ajax 呼び出しは、 で一連のサブ ajax 呼び出しを発行しpart(II)
ます。だから私の質問は、プログラムがすべてのデータの準備ができた後に何らかのタスクを実行したい場合、プログラムはどのようにしpart(I)
てすべての要求とすべての要求がpart(II)
終了したかを知ることができますか?