Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. JavaScript-Fehlerreferenz
  5. SyntaxError: await/yield expression kann nicht im Parameter verwendet werden

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

SyntaxError: await/yield expression kann nicht im Parameter verwendet werden

Der JavaScript-Ausnahmefehler "await expression can't be used in parameter" oder "yield expression can't be used in parameter" tritt auf, wenn derStandardparameter-Ausdruck dasawait- oderyield-Schlüsselwort enthält und die Auswertung des Standardparameters pausiert wird.

Nachricht

SyntaxError: Illegal await-expression in formal parameters of async function (V8-based)SyntaxError: await expression can't be used in parameter (Firefox)SyntaxError: Cannot use 'await' within a parameter default expression. (Safari)SyntaxError: Yield expression not allowed in formal parameter (V8-based)SyntaxError: yield expression can't be used in parameter (Firefox)SyntaxError: Unexpected keyword 'yield'. Cannot use yield expression within parameters. (Safari)

Fehlertyp

SyntaxError

Was ist schiefgelaufen?

Der Standardausdruck musssynchron ausgewertet werden können. Wenn er einenawait- oderyield-Ausdruck enthält, wird die Auswertung des Standardausdrucks pausiert, was nicht erlaubt ist.

Hinweis:Dieser Fehler tritt nur auf, wennawait oderyield gültige Operatoren im Kontext dieser Funktion sind. Andernfalls würdenawait oderyield als Bezeichner geparst und entweder keinen Fehler verursachen oder einen Fehler wie "reservierter Bezeichner" oder "unerwartetes Token" verursachen, wenn ein Ausdruck darauf folgt.

Beispiele

Ungültige Fälle

js
function *gen(a = yield 1) {}async function f(a = await Promise.resolve(1)) {}

Gültige Fälle

Sie können dieNullish Coalescing Zuweisung verwenden, um einen Standardwert bereitzustellen. Wenn Sienull undundefined unterschiedlich behandeln möchten, müssten Sie eine Bedingung verwenden.

js
function* gen(a) {  a ??= yield 1;}async function f(a) {  a ??= await Promise.resolve(1);}

Es ist auch erlaubt,await oderyield zu verwenden, wenn der Ausdruck in einem Funktionsausdruck des Initialisierers enthalten ist und die Auswertung des Standardausdrucks nicht pausiert.

js
async function f(a = (async () => await Promise.resolve(1))()) {}

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp