In JavaScript ist das Schlüsselwort „await“ nur innerhalb einer asynchronen Funktion gültig. Dieser Fehler tritt auf, wenn versucht wird, „await“ in einer nicht asynchronen Funktion zu verwenden.
Beachten Sie den folgenden Codeausschnitt:
// lib/helper.js var myfunction = async function (x, y) { return [x, y]; }; exports.myfunction = myfunction;
Dieser Code definiert eine asynchrone Funktion namens „myfunction“. In einer separaten Datei wird der folgende Code geschrieben:
// anotherFile.js var helper = require('./helper.js'); var start = function (a, b) { const result = await helper.myfunction('test', 'test'); }; exports.start = start;
Dieser Code greift über die Hilfsdatei auf die myfunction zu. Es wird jedoch versucht, „await“ innerhalb der nicht asynchronen Startfunktion aufzurufen, was den Fehler „await is only valid in async function“ auslöst.
Um dieses Problem zu beheben, sollte die Startfunktion asynchron gemacht werden:
async function start(a, b) { const result = await helper.myfunction('test', 'test'); console.log(result); }
Zusammenfassend lässt sich sagen, dass die Verwendung von „await“ erfordert, dass die einschließende Funktion eine asynchrone Funktion ist. Wenn der Fehler angibt, dass „await nur in der asynchronen Funktion gültig ist“, stellen Sie sicher, dass die Funktion, in der „await“ aufgerufen wird, korrekt als asynchron markiert ist.
Das obige ist der detaillierte Inhalt vonWarum tritt in JavaScript die Meldung „Warten ist nur in der asynchronen Funktion gültig' auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!