A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Operators/async_function* below:

async function* expression - JavaScript

async function* expression

Baseline Widely available

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

Sie können auch asynchrone Generatorfunktionen mithilfe der async 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
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: Eine Ausdrucksanweisung kann nicht mit den Schlüsselwörtern async function beginnen, um Mehrdeutigkeiten mit einer async function* Deklaration zu vermeiden. Die Schlüsselwörter async function leiten nur dann einen Ausdruck ein, wenn sie in einem Kontext erscheinen, der keine Anweisungen akzeptiert.

Parameter
name Optional

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

paramN Optional

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

statements Optional

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

Beschreibung

Ein async function* Ausdruck ist dem async function* Deklaration sehr ähnlich und hat fast die gleiche Syntax. Der Hauptunterschied zwischen einem async function* Ausdruck und einer async function* Deklaration ist der Funktionsname, der in async function* Ausdrücken weggelassen werden kann, um anonyme Funktionen zu erstellen. Ein async function* Ausdruck kann als IIFE (Sofortig Ausgeführter Funktionsausdruck) verwendet werden, der sofort ausgeführt wird, sobald er definiert ist, wodurch Sie ein ad-hoc asynchrones iterierbares Objekt erstellen können. Weitere Informationen finden Sie auch im Kapitel über Funktionen.

Beispiele Verwendung des async function* Ausdrucks

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

const x = async function* (y) {
  yield Promise.resolve(y * y);
};
x(6)
  .next()
  .then((res) => console.log(res.value)); // 36
Spezifikationen Browser-Kompatibilität Siehe auch

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4