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

View in English Always switch to English

AsyncGeneratorFunction() Konstruktor

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.

Warnung: Die an diesen Konstruktor übergebenen Argumente werden dynamisch als JavaScript geparst und ausgeführt. Solche APIs sind bekannt als Injection Sinks und können eine Angriffsfläche für Cross-Site-Scripting (XSS)-Angriffe darstellen.

Sie können das Risiko mindern, indem Sie immer TrustedScript-Objekte anstelle von Zeichenketten übergeben und Trusted Types erzwingen.

Weitere Informationen finden Sie in den Sicherheitsüberlegungen in der Function()-Konstruktorreferenz.

Der AsyncGeneratorFunction() Konstruktor erstellt AsyncGeneratorFunction Objekte.

Beachten Sie, dass AsyncGeneratorFunction kein globales Objekt ist. Es kann durch die Auswertung des folgenden Codes erhalten werden.

js
const AsyncGeneratorFunction = async function* () {}.constructor;

Der AsyncGeneratorFunction() Konstruktor ist nicht dafür vorgesehen, direkt verwendet zu werden, und alle in der Beschreibung von Function() erwähnten Warnhinweise gelten auch für AsyncGeneratorFunction().

Syntax

js
new AsyncGeneratorFunction(functionBody)
new AsyncGeneratorFunction(arg1, functionBody)
new AsyncGeneratorFunction(arg1, arg2, functionBody)
new AsyncGeneratorFunction(arg1, arg2, /* …, */ argN, functionBody)

AsyncGeneratorFunction(functionBody)
AsyncGeneratorFunction(arg1, functionBody)
AsyncGeneratorFunction(arg1, arg2, functionBody)
AsyncGeneratorFunction(arg1, arg2, /* …, */ argN, functionBody)

Hinweis: AsyncGeneratorFunction() kann mit oder ohne new aufgerufen werden. Beide erzeugen eine neue AsyncGeneratorFunction-Instanz.

Parameter

Siehe Function().

Beispiele

Beachten Sie, dass in diesen Beispielen zur Vereinfachung auf die Verwendung von Trusted Types verzichtet wird. Für Code, der den empfohlenen Ansatz zeigt, siehe Verwenden von TrustedScript in eval().

Verwendung des Konstruktors

Das folgende Beispiel verwendet den AsyncGeneratorFunction Konstruktor, um eine asynchrone Generatorfunktion zu erstellen.

js
const AsyncGeneratorFunction = async function* () {}.constructor;
const createAsyncGenerator = new AsyncGeneratorFunction("a", "yield a * 2");
const asyncGen = createAsyncGenerator(10);
asyncGen.next().then((res) => console.log(res.value)); // 20

Spezifikationen

Spezifikation
ECMAScript® 2027 Language Specification
# sec-asyncgeneratorfunction-constructor

Browser-Kompatibilität

Siehe auch