Heim >Web-Frontend >js-Tutorial >Warum tritt „Warten ist nur in der asynchronen Funktion gültig' auf?

Warum tritt „Warten ist nur in der asynchronen Funktion gültig' auf?

Susan Sarandon
Susan SarandonOriginal
2024-12-14 05:37:10937Durchsuche

Why Does

Asynchrone Funktionen und das Schlüsselwort „await“: Was verursacht den Fehler „await is only valid in async function“?

Wird häufig in gefunden Bei der Codierung tritt der Fehler „await is only valid in async function“ auf, wenn versucht wird, das Schlüsselwort „await“ außerhalb einer „async“-Funktion zu verwenden. wie der Namensgeber andeutet. Um dieses Problem zu verstehen, schauen wir uns den von Ihnen bereitgestellten Code genauer an.

In Ihrer helper.js-Datei haben Sie eine „async“-Funktion namens „myfunction“ definiert, die das Schlüsselwort „async“ korrekt verwendet und eine zurückgibt Array von Variablen. Der Fehler ist jedoch nicht auf diese Funktion zurückzuführen. Es liegt in der Funktion „start“ in einer anderen Datei.

Die Funktion „start“ ist nicht als „asynchron“ deklariert, sodass sie nicht für die Verwendung des Schlüsselworts „await“ geeignet ist. Um dies zu beheben, müssen Sie „start“ in eine „asynchrone“ Funktion umwandeln, wie im geänderten Code unten gezeigt:

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

Indem Sie „start“ zu einer „asynchronen“ Funktion machen, aktivieren Sie sie Halten Sie die Ausführung an und warten Sie auf die Erfüllung des Versprechens „myfunction“, bevor Sie fortfahren.

Denken Sie daran, dass das Schlüsselwort „await“ nur innerhalb von „async“-Funktionen verwendet werden kann. Deklarieren Sie Ihre Funktionen daher immer mit Geben Sie das Schlüsselwort „async“ ein, wenn Sie darin „await“ verwenden möchten. Dies gewährleistet eine ordnungsgemäße asynchrone Codeausführung und vermeidet den Fehler „Warten ist nur in asynchroner Funktion gültig“.

Das obige ist der detaillierte Inhalt vonWarum tritt „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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn