【发布时间】:2015-06-01 11:15:01
【问题描述】:
我知道有很多关于这个的问题,但我仍然无法找到一个正确的答案来让我的代码正常运行。
我定义了一个函数来调用 ajax,由于安全问题我无法更改。这就是我调用该函数的方式
var JsonIQDetails = JSON.stringify(input);//Some input
//pram 1:MethodUrl, 2:JsonObject, 3:ReturnType, 4:SuccessCallBackFunction
InvokeAjaxCall(Url, JsonIQDetails, "json", Success);
我有一组对象(超过 500 个)。由于 JSON 变得很长,所以我无法进行 ajax 调用。再次由于安全问题,我也无法更改配置文件。所以无法增加 JSON 长度。
我将数组分成 100 个小块并调用方法
for (i = 0, j = mainObject.length; i < j; i += chunk) {
var newSubObject = mainObject.slice(i, i + chunk);
InvokeAjaxCall(Url, newSubObject, "json", Success);
function Success(data) {
if (!data) {
alert("Failed");
break;
}
}
}
它在没有完成for 循环并执行下一个代码的情况下移动。所以我希望它首先完成for 循环(可能是异步的)
提前致谢..!!!
【问题讨论】:
-
moving without completing loop的解释完全不清楚……这是什么意思? -
意思是在没有完成for循环的情况下继续前进......
-
接下来会发生什么?您需要更清楚地解释问题。如果所有这些请求都需要在其他代码执行之前完成,您将需要使用 Promise 来执行下一个代码序列
-
服务器如何知道组合这些切片?
-
我不知道你在说什么!真的。还是想不通。
标签: javascript jquery ajax json for-loop