Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Experiment: Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.

async function* expression

BaselineWidely available

Die Schlüsselwörterasync function* können verwendet werden, um eine asynchrone Generatorfunktion in einem Ausdruck zu definieren.

Sie können auch asynchrone Generatorfunktionen mithilfe derasync function* Deklaration definieren.

Probieren Sie es aus

async function joinAll(generator) {  let str = "";  for await (const val of generator()) {    str += val;  }  return str;}joinAll(async function* () {  yield await Promise.resolve("a");  yield await Promise.resolve("b");  yield await Promise.resolve("c");}).then((str) => console.log(str));// Expected output: "abc"

Syntax

js
async function* (param0) {  statements}async function* (param0, param1) {  statements}async function* (param0, param1, /* …, */ paramN) {  statements}async function* name(param0) {  statements}async function* name(param0, param1) {  statements}async function* name(param0, param1, /* …, */ paramN) {  statements}

Hinweis:EineAusdrucksanweisung kann nicht mit den Schlüsselwörternasync function beginnen, um Mehrdeutigkeiten mit einerasync function* Deklaration zu vermeiden. Die Schlüsselwörterasync function leiten nur dann einen Ausdruck ein, wenn sie in einem Kontext erscheinen, der keine Anweisungen akzeptiert.

Parameter

nameOptional

Der Funktionsname. Kann weggelassen werden, in diesem Fall ist die Funktionanonym. Der Name ist nur lokal im Funktionskörper gültig.

paramNOptional

Der Name eines formalen Parameters für die Funktion. Zur Syntax der Parameter siehe dieFunktionsreferenz.

statementsOptional

Die Anweisungen, die den Körper der Funktion bilden.

Beschreibung

Einasync function* Ausdruck ist demasync function* Deklaration sehr ähnlich und hat fast die gleiche Syntax. Der Hauptunterschied zwischen einemasync function* Ausdruck und einerasync function* Deklaration ist derFunktionsname, der inasync function* Ausdrücken weggelassen werden kann, umanonyme Funktionen zu erstellen. Einasync function* Ausdruck kann alsIIFE (Sofortig Ausgeführter Funktionsausdruck) verwendet werden, der sofort ausgeführt wird, sobald er definiert ist, wodurch Sie ein ad-hocasynchrones iterierbares Objekt erstellen können. Weitere Informationen finden Sie auch im Kapitel überFunktionen.

Beispiele

Verwendung des async function* Ausdrucks

Das folgende Beispiel definiert eine unbenannte asynchrone Generatorfunktion und weist siex zu. Die Funktion liefert das Quadrat ihres Arguments:

js
const x = async function* (y) {  yield Promise.resolve(y * y);};x(6)  .next()  .then((res) => console.log(res.value)); // 36

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-async-generator-function-definitions

Browser-Kompatibilität

Siehe auch

MDN-Feedback-Box

Diese Seite wurde automatisch aus dem Englischen übersetzt.


[8]ページ先頭

©2009-2025 Movatter.jp