Estoy tratando de insertar los resultados en una variable, la variable cambia cuando uso el empuje, pero al final de la función, cuando consuelo la variable, muestra el valor inicializado al comienzo de la función. Sería genial si alguien pudiera resolver este problema.
const getProductFilters = async (req, res) => { var result = []; await Product.findById(req.params.id) .then(async (val) => { await val.filterIds.forEach( async (item) => await Filter.findById(item) .then(async (itm) => { await itm.variableIds.forEach(async (val) => { await Variable.findById(val) .then((a) => { console.log("1--", result); !result.includes(a.name) ? result.push(a.name) : ""; }) .catch((err) => console.log(err)); }); }) .catch((err) => console.log(err)) ); console.log("2--", result); }) .catch((err) => console.log(err)); };Estoy obteniendo este resultado:
2-- [] 1-- [] 1-- [ 'size' ] 1-- [ 'size', 'color' ] 1-- [ 'size', 'color' ]