gracias por su ayuda anterior, ahora la cantidad total funciona perfectamente. He intentado aplicar el mismo principio con el precio total, pero muestra "nan" ("price += parseInt(monPanier[i].price);"). antes de agregar esta línea, el precio total que se mostraba era solo una copia por artículo, incluso, por ejemplo, había dos artículos negros, 3 artículos rojos y 4 amarillos, se consideraba como precio total uno negro + uno rojo + uno amarillo. Gracias por tu ayuda.
let asynCompteur = 0; let quantity = 0; let price = 0; for (let i = 0; i < monPanier.length; i++) { fetch('http://localhost:3000/api/products/' + monPanier[i].id)/*appel de l'api*/ .then((reponse) => reponse.json()) .then((data) => { /*asynCompteur pour réguler l'itération*/ asynCompteur = asynCompteur + 1; //J'ajoute le prix et la quantité quantity += parseInt(monPanier[i].quantity); price += data.price; console.log('prix', asynCompteur, price, quantity); price += parseInt(monPanier[i].price); console.log(typeof monPanier[i].quantity); if (asynCompteur === monPanier.length) { document.querySelector("#totalQuantity").innerText = quantity; document.querySelector("#totalPrice").innerText = price; }funciona parcialmente. La cantidad se actualiza correctamente y sigue los cambios del carrito. Entonces, la visualización de la cantidad total es correcta. Pero... curiosamente, el precio total considera solo uno de cada artículo, es decir: artículo negro (2 veces), artículo amarillo (3 veces), artículo rojo (2 veces), cantidad total mostrada: 7 (correcto), precio total: incorrecto (muestra el precio total de un artículo negro + un artículo amarillo + un artículo rojo. Gracias por su precioso ayuda.