我有一个函数需要在完成几个 Ajax 调用后运行。每个 AJAX 调用当前被一个接一个地调用,并且当前在它们各自的回调中工作。这是一个承诺链的候选者,因为每个 ajax 调用仅在其各自的测试为真时运行?而且我不一定需要连续运行这些调用,只是在最后得到一个回调(当所有满足运行条件的 Ajax 调用都完成了它们各自的回调时)。
if(MyTest1){
RunMyAjaxCall1(param1,param2,successAjaxCallback1,failureAjaxCallback1);
}
if(MyTest2){
RunMyAjaxCall2(param1,param2,successAjaxCallback2,failureAjaxCallback2);
}
if(MyTest3){
RunMyAjaxCall3(param1,param2,successAjaxCallback3,failureAjaxCallback3);
}
if(MyTest4){
RunMyAjaxCall4(param1,param2,successAjaxCallback4,failureAjaxCallback4);
}
示例 AJAX 调用
RunMyAjaxCall1 = function (param1,param2, successCallback, failureCallback) {
$.ajax({
type: "POST",
datatype: 'json',
url: "/WebServices/GlobalWebService.asmx/webservicemethod1",
data: JSON.stringify({ param1: param1, param2: param2 }),
contentType: 'application/json; charset=utf-8',
success: function (data) { successCallback(data.d); },
error: function (data) { failureCallback(data.d) }
});
}