Я пытаюсь обновить массив "projects" в зависимости от запроса значения dB forEach из массива. Когда я получаю значение и присваиваю его текущему индексу проектов, оно не обновляется в реальном массиве.
Я уже пробовал некоторые структуры разрешения отклонения разрешения, .map, .forEach, цикл for, обратный вызов внутри запроса, но ни один из них не работает.
projects.forEach((project, i) => {
let query = squel
.select()
.field("s.Clave_Proyecto")
.field("s.Semana_Numero")
.field("s.Porcentaje_Semana")
.from("Semana", "s")
.where("s.Clave_Proyecto = ?", project["Clave_Proyecto"])
.toParam();
db.get().query(query.text, query.values, (error, weeks) => {
if(error) return res.status(400).send(error);
if(weeks) project["weeks"] = Object.values(JSON.stringify(weeks));
else project["weeks"] = ["No weeks available"];
projects[i] = project;
console.log(projects[i]);
});
});
В качестве массива должен возвращаться экземпляр проекта, обновленный новым атрибутом недель.