Dans Angular 6, vous avez peut-être rencontré l'idée selon laquelle le modèle suivant est déconseillé :
await someFunction().then(result => { console.log(result); });
Au départ, cela peut sembler déroutant car il effectue essentiellement la même tâche comme :
const result = await someFunction(); console.log(result);
Cette dernière est généralement considérée comme plus concise et préférée, mais la question se pose : pourquoi l'attente d'une chaîne de promesses est-elle potentiellement problématique ?
Bien que les extraits ci-dessus puissent sembler équivalents, il existe des différences subtiles qui peuvent introduire des risques :
1. Styles mixtes :
La combinaison d'approches synchrones (attendre) et asynchrones (puis) peut prêter à confusion et à des confusions. Cela peut entraîner un code incohérent et d'éventuels bugs.
2. Flux de contrôle complexe :
À mesure que le code devient plus complexe, l'ajout d'un autre appel de promesse dans un rappel then peut introduire une gamme de nouveaux scénarios. On ne sait pas si vous pouvez utiliser wait dans le rappel, comment gérer les retours conditionnels ou s'il est possible de revenir à partir de la fonction externe. Ces incertitudes peuvent entraîner des comportements inattendus et des défauts de code.
Pour améliorer la lisibilité, la maintenabilité et éviter les bogues, il est conseillé d'éviter de mélanger les chaînes de promesses avec l'attente. Adoptez une approche cohérente dans laquelle vous utilisez wait dans toutes vos fonctions asynchrones.
En adhérant à cette directive, vous pouvez garantir la clarté, minimiser la confusion et améliorer la qualité globale de votre base de code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!