Я пытаюсь разорвать вложенный цикл for внутри асинхронного обратного вызова, но не могу сделать это:
function asyncCall(id, OnComplete) {
// id..
context.executeQueryAsync(OnSuccess, OnFailure);
function OnSuccess(sender, args) {
OnComplete(userInGroup);
}
function OnFailure(sender, args) {
console.error("Doesn't Exist!")
}
}
function callApi() {
//response from intial call
for (var key in response) {
var data = response[key];
(function (innerData) {
if (innerData) {
renderHTML(innerData);
}
})(data);
}
}
function renderHTML(data) {
for (var key in data) {
var index = data[key];
(function (innerData, id) {
asyncCall(id, function (isFound) {
if (isFound)
break; //break loop
});
})(data, index);
}
}
callApi();
Я хочу разорвать цикл, если значение свойства isFound
имеет значение true в своем ответе, и хочу достичь этого только в ES5, или может помочь любая работа, например, синхронный вызов.