Heim >Web-Frontend >js-Tutorial >Warum wird „await ist nur in asynchronen Funktionen gültig' angezeigt, wenn „await' außerhalb einer asynchronen Funktion verwendet wird?

Warum wird „await ist nur in asynchronen Funktionen gültig' angezeigt, wenn „await' außerhalb einer asynchronen Funktion verwendet wird?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-18 08:50:09662Durchsuche

Why Does

Warten auf eine asynchrone Funktion

Beim Versuch, das Schlüsselwort „await“ in JavaScript zu verwenden, kann die Fehlermeldung „await ist nur in der asynchronen Funktion gültig“ auftreten. Dieser Fehler tritt auf, wenn das Schlüsselwort „await“ falsch verwendet wird.

In Ihrem Szenario betrifft der Fehler die Startfunktion und nicht die Funktion „myfunction“. Die Funktion „myfunction“ ist korrekt als asynchrone Funktion definiert, sodass Sie das darin enthaltene Schlüsselwort „await“ verwenden können. Die Startfunktion ist jedoch nicht als asynchrone Funktion definiert.

Um dies zu beheben, sollte die Startfunktion so geändert werden, dass sie eine asynchrone Funktion wird, die die Verwendung des Schlüsselworts „await“ darin ermöglicht. Hier ist ein Beispiel, wie die Startfunktion umgeschrieben werden könnte:

async function start(a, b) {
  const result = await myfunction(a, b);

  console.log(result);   // Do something with the result
}

Indem Sie die Startfunktion asynchron machen, können Sie jetzt das Schlüsselwort „await“ verwenden, um die Ausführung der Funktion anzuhalten, bis die Funktion „myfunction“ ihre Ausführung abgeschlossen hat Ausführung. Dies ist von entscheidender Bedeutung, da dadurch sichergestellt wird, dass die Ergebnisvariable die erwarteten Daten enthält, bevor mit dem nachfolgenden Code fortgefahren wird.

Das obige ist der detaillierte Inhalt vonWarum wird „await ist nur in asynchronen Funktionen gültig' angezeigt, wenn „await' außerhalb einer asynchronen Funktion verwendet wird?. 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