Maison > interface Web > js tutoriel > Pourquoi « l'attente n'est valide que dans la fonction asynchrone » se produit-il ?

Pourquoi « l'attente n'est valide que dans la fonction asynchrone » se produit-il ?

Susan Sarandon
Libérer: 2024-12-14 05:37:10
original
932 Les gens l'ont consulté

Why Does

Fonctions asynchrones et mot-clé « attendre » : quelle est la cause de l'erreur « l'attente n'est valide que dans la fonction asynchrone » ?

Souvent rencontrée dans codage, l'erreur « l'attente n'est valable que dans la fonction asynchrone » se produit lorsque vous tentez d'utiliser le mot-clé « attendre » en dehors d'une fonction « asynchrone » fonction, comme son homonyme l'indique. Pour comprendre ce problème, examinons le code que vous avez fourni.

Dans votre fichier helper.js, vous avez défini une fonction "async" nommée "myfunction", qui utilise correctement le mot-clé "async" et renvoie un tableau de variables. Cependant, l'erreur ne vient pas de cette fonction. Il se trouve dans la fonction « start » dans un autre fichier.

La fonction « start » n'est pas déclarée comme « async », ce qui la rend inéligible à l'utilisation du mot-clé « wait ». Pour remédier à cela, vous devez convertir "start" en fonction "async", comme démontré dans le code modifié ci-dessous :

const start = async function(a, b) {
  const result = await helper.myfunction('test', 'test');
}
Copier après la connexion

En faisant de "start" une fonction "async", vous lui permettez de suspendez l'exécution et attendez la fin de la promesse "myfunction" avant de continuer.

N'oubliez pas que le mot-clé "await" ne peut être utilisé que dans les fonctions "async", alors déclarez toujours vos fonctions avec le Mot-clé "async" lorsque vous avez l'intention d'utiliser "wait" en leur sein. Cela garantit une bonne exécution du code asynchrone, évitant ainsi l'erreur « l'attente n'est valable que dans la fonction asynchrone ».

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal