Maison > Article > interface Web > Async/Await et .then/.catch peuvent-ils être utilisés ensemble pour la gestion des erreurs en JavaScript ?
Utilisation d'Async/Await et .then/.catch
Async/await et .then/.catch sont tous deux des mécanismes de gestion des erreurs en JavaScript . Bien que async/await soit plus concis et moderne, .then/.catch reste une option viable. Leur utilisation conjointe peut-elle présenter des avantages ou des inconvénients ?
L'extrait de code que vous avez fourni présente un scénario dans lequel les deux mécanismes sont utilisés conjointement. Cependant, la réponse suggère de remplacer try/catch par une combinaison de async/await et .catch. Cela simplifie le code et le maintient dans la portée synchrone établie par la fonction async.
Voici un exemple :
<code class="javascript">async function asyncTask() { throw new Error('network'); } async function main() { const result = await asyncTask().catch(error => console.error(error)); console.log('result:', result); } main();</code>
Dans cet exemple, asyncTask renvoie une erreur, qui est gérée par le Bloc .catch dans la méthode asynchrone principale. L'erreur est enregistrée sur la console, tandis que l'exécution se poursuit avec la ligne suivante, où la variable de résultat est définie sur undefined puisque la fonction n'a renvoyé aucune valeur explicite.
En conclusion, en utilisant à la fois async/await et . then/.catch ensemble ne peut entraîner aucun dommage, il est généralement recommandé d'utiliser la combinaison plus concise et moderne de async/await et .catch pour la gestion des erreurs dans les fonctions asynchrones. Cette approche garantit la compacité du code et préserve la portée synchrone établie par le mot-clé async.
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!