Я пытаюсь вставить несколько записей в базу данных mysql, и мне нужно получить идентификатор каждой записи и отправить его обратно клиенту.Код, который я использую:
app.post('/saveLesson',function(req, res){
var idArray = [];
let sections = JSON.parse(req.body.sections);
for (let i = 0; i < sections.length; i++) {
let sql = 'INSERT INTO sections (title, content, duration) VALUES ("' + sections[i].title + '","' + sections[i].content + '","' + sections[i].duration + '");';
connection.query(sql,
function (error, result) {
if (error) throw error;
idArray.push(result.insertId);
console.log('array in the loop: ' + idArray);
}
);
}
console.log('array out of the loop: ' + idArray);
res.send(idArray);
});
Проблема в том, что метод .query кажется асинхронным и следующий код выполняется до фактического заполнения idArray:
console.log('array out of the loop: ' + idArray);
res.send(idArray);
Как можно решить эту проблему?