Я знаю, что есть много вопросов относительно этого, но все же я не могу найти правильный ответ, который заставляет мой код работать должным образом.Ajax call in loop
У меня есть одна функция, определенная для вызова 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
(возможно, асинхронный)
Спасибо в Advance .. !!!
Объяснение «перемещение без завершения цикла» совсем неясно ... что это значит? – charlietfl
Значит, он идет вперед, не завершая цикл for ... –
Что будет дальше? Вы должны объяснить проблему с большей ясностью. Если все эти запросы должны быть выполнены до запуска другого кода, вам нужно будет использовать обещания для выполнения следующей последовательности кода. – charlietfl