¿Cómo acceder a la variable externa en forEach? [duplicar]
Nov 12 2020
Este es el fragmento de código. Quiero acceder a la matriz imagePath dentro de cada uno.
...
const imagePath=[];
req.files.images.forEach(async (image) => {
let extName = path.extname(image.name);
var dest = path.join(__dirname, '..', 'public', 'images', 'items');
var imgPath = await saveFile(image, dest, itemName, extName);
imagePath.push(imgPath); // this line
})
...
Respuestas
Aaron_Actu Nov 13 2020 at 05:22
Normalmente, imagePathes fácilmente accesible en su forEachbucle.
Sin embargo, su forEachdevolución de llamada es asincrónica. Si lo hace console.log(imagePath)justo después del forEachciclo, obtendrá una matriz vacía.
Una solución alternativa sencilla sería utilizar un for…in bucle.