Здравствуйте! Подскажите пожалуйста, как мне решить такую задачу.
У меня внутри цикла Ajax-запрос на сервер. Как мне правильно сделать чтобы следующая итерация цикла начиналась после того как придёт ответ с сервера для текущей итерации?
Вот код:
loader.classList.remove('hide');
arr.forEach(el => {
let tableName = el.dataset.table;
$.request('onAjax', {
data: {
'table': tableName
},
success: function(data) {
// ответ сервера об успешном выполнении запроса
},
error: function(data) {
// ответ об ошибке
},
complete: function(data) {
// выполнится независимо от успешного запроса или ошибки
}
});
});
loader.classList.add('hide');
Я читал и немного изучал про промисы. Вроде идея понятна, но никогда их не использовал вообще. А как их для цикла применить для меня пока загадка.
Возможно тут не промисы а async нужно, но этим тоже никогда не пользовался.
В общем без помощи никак...