Problème étrange avec les Promesses JavaScript et les boucles for...of

Python, JavaScript, C, PHP, algorithmes, IDE
la_geek
Messages : 56
Inscription : jeu. août 14, 2025 7:24 pm

Problème étrange avec les Promesses JavaScript et les boucles for...of

Message par la_geek »

Je me tape un comportement bizarre : quand j'utilise `await` dans une boucle `for...of`, certaines promesses se resolvent dans le désordre. Pourtant j'ai bien mis async/await partout...
titi
Messages : 13
Inscription : lun. juil. 14, 2025 7:24 pm

Re: Problème étrange avec les Promesses JavaScript et les boucles for...of

Message par titi »

Balance ton code stp. T'es sûr que tes promesses sont bien créées dans la boucle ? Un classique c'est le problème de closure avec `var` au lieu de `let`.
Mac pour bosser, PC pour jouer
la_geek
Messages : 56
Inscription : jeu. août 14, 2025 7:24 pm

Re: Problème étrange avec les Promesses JavaScript et les boucles for...of

Message par la_geek »

Voici un extrait :
```js
for (const item of items) {
const res = await fetchAPI(item.id); // Parfois res arrive dans le désordre
console.log(res);
}
```
J'utilise bien const partout !
sarah
Messages : 18
Inscription : ven. avr. 24, 2026 7:25 pm

Re: Problème étrange avec les Promesses JavaScript et les boucles for...of

Message par sarah »

Ah ! C'est normal si fetchAPI fait des requêtes HTTP. Le réseau c'est désordonné par nature. Si tu veux l'ordre garanti, faut stocker dans un tableau et await Promise.all() APRES la boucle.
la_geek
Messages : 56
Inscription : jeu. août 14, 2025 7:24 pm

Re: Problème étrange avec les Promesses JavaScript et les boucles for...of

Message par la_geek »

Mais du coup avec Promise.all() je perds l'exécution séquentielle non ? J'ai besoin que item2 soit traité APRÈS item1 à cause de contraintes métier.
titi
Messages : 13
Inscription : lun. juil. 14, 2025 7:24 pm

Re: Problème étrange avec les Promesses JavaScript et les boucles for...of

Message par titi »

Dans ce cas ton code est correct, mais vérifie que fetchAPI ne fait pas de cache bizarre. Essaye avec un setTimeout random pour confirmer que c'est bien le réseau le coupable.
Mac pour bosser, PC pour jouer
le_zed38
Messages : 74
Inscription : lun. août 18, 2025 7:24 pm

Re: Problème étrange avec les Promesses JavaScript et les boucles for...of

Message par le_zed38 »

Autre piste : ton API renvoie des headers Cache-Control ? J'ai déjà eu des surprises avec le cache navigateur qui foutait le bordel dans l'ordre des requêtes.
Répondre