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

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

Linda Hamilton
Freigeben: 2025-01-03 19:16:41
Original
485 Leute haben es durchsucht

Why Does

Fehler „await is Only Valid in Async Function“

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;
Nach dem Login kopieren

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;
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage