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

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

Linda Hamilton
Libérer: 2025-01-03 19:16:41
original
526 Les gens l'ont consulté

Why Does

Erreur « await n'est valable que dans la fonction asynchrone »

En JavaScript, le mot-clé wait n'est valide que dans une fonction asynchrone. Cette erreur se produit lorsque vous essayez d'utiliser wait dans une fonction non asynchrone.

Considérez l'extrait de code suivant :

// lib/helper.js
var myfunction = async function (x, y) {
  return [x, y];
};
exports.myfunction = myfunction;
Copier après la connexion

Ce code définit une fonction asynchrone appelée myfunction. Dans un fichier séparé, le code suivant est écrit :

// anotherFile.js
var helper = require('./helper.js');

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

Ce code accède à mafonction à partir du fichier d'assistance. Cependant, il tente d'invoquer wait dans la fonction de démarrage non asynchrone, ce qui génère l'erreur « l'attente n'est valide que dans la fonction asynchrone ».

Pour résoudre ce problème, la fonction de démarrage doit être rendue asynchrone :

async function start(a, b) {
  const result = await helper.myfunction('test', 'test');

  console.log(result);
}
Copier après la connexion

En résumé, l'utilisation de wait nécessite que la fonction englobante soit une fonction asynchrone. Lorsque l'erreur spécifie « wait n'est valide que dans la fonction asynchrone », assurez-vous que la fonction dans laquelle wait est appelée est correctement marquée comme 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!

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