Comment accéder à la variable externe dans forEach? [dupliquer]

Nov 12 2020

Voici l'extrait de code. Je veux accéder au tableau imagePath à l'intérieur pour chacun.

...

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
})

...

Réponses

Aaron_Actu Nov 13 2020 at 05:22

Normalement, imagePathest facilement accessible dans votre forEachboucle.

Cependant, votre forEachrappel est asynchrone. Si vous faites console.log(imagePath)juste après la forEachboucle, vous obtiendrez un tableau vide.

Une solution de contournement simple serait d'utiliser une boucle for…in .