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.
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
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.
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> |