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;
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;
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); }
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!