Мне нужна помощь, у меня есть n данных, которые возвращает ajax запрос клиенту. Каждая строка данных мне нужна для вызова api из другого приложения. Теперь я использую callback
для этого, и да, api успешен и дает ценность, как я ожидал. Но у меня небольшая проблема. У меня есть количество ограничений для доступа к api в день, поэтому я хочу, чтобы callback
для api отвечал на error_code
, например out of quota
или любой код ошибки, поэтому для данных следующей строки я не хочу называть снова api. Мой код, как показано ниже:
$("#verifyMe").submit(function(event) {
var isError = false;
var formDatas = new FormData($('#verifyMe')[0]);
// getting my row Data (SELECT * FROM table)
$.ajax({
....
success: function(kis) {
for (var i = 0; i < kis.data.length; i++) { // loop as many row data
// call api as long as no break
console.log(isError); // always be false
checking(kis.data[i].id, function(output){ // api returning object
if(output.error_code) {
console.log(isError); // last value
isError = true; // only affect in callback bracket
console.log(isError); // true
break; // break for loop calling the api
}
} // end of callback bracket
// I think the break; should goes this line but error_code will undefined bc out of callback function
}
}
});
});
Я думаю, проблема в том, что он асинхронный. error_code
в callback
всегда будет undefined/null
из этого callback
, а break;
будет работать, если он находится в скобках for loop
(в примере кода, который я показываю, он находится в скобках callback
). Извините, если мои объяснения недостаточно ясны. Спасибо