У меня есть цикл foreach, и я перебираю элементы.Для каждого элемента я сохраняю его в базу данных, используя ajax.Однако я хочу, чтобы каждая итерация ожидала, пока предыдущая будет сохранена в базе данных и получит ответ.
Позвольте привести упрощенный пример:
$('#myBtn').click(function() {
let elements = $('.checkboxes:checked');
elements.forEach(function(i, el) {
let id = $(el).data('id');
saveToDatabase(id);
// I want it to pause here until it receives a response from other function
// before going to the next iteration..
})
})
function saveToDatabase(id) {
axios.get('/save-to-db/' + id)
.then(response => {
return true;
}).catch(err => {
return false;
});
}
Я хочу, чтобы элементы forEach переместились вследующая итерация после получения «возврата» из функции saveToDatabase
.
(кстати, я знаю, что этот пример слишком упрощен и не имеет смысла в реальной жизни, так как я могу сохранять идентификаторы в базе данных наваломОднако я просто хочу понять, как справиться с таким делом).