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 Funktion innerhalb eines Ausdrucks zu definieren.

Sie können auch asynchrone Funktionen mit derasync function Deklaration oder derPfeil-Syntax definieren.

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 beginnen nur dann einen Ausdruck, 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 innerhalb des Funktionskörpers lokal.

paramNOptional

Der Name eines formalen Parameters für die Funktion. Für die Syntax der Parameter siehe dasFunktionen Referenz.

statementsOptional

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

Beschreibung

Einasync function Ausdruck ist demasync function Deklaration sehr ähnlich und hat fast dieselbe 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 (Immediately Invoked Function Expression) verwendet werden, die ausgeführt wird, sobald sie definiert ist, und es Ihnen ermöglicht,Top-Level Await nachzuahmen. Siehe auch das Kapitel überFunktionen für weitere Informationen.

Beispiele

Verwendung eines async function Ausdrucks

js
function resolveAfter2Seconds(x) {  return new Promise((resolve) => {    setTimeout(() => {      resolve(x);    }, 2000);  });}// async function expression assigned to a variableconst add = async function (x) {  const a = await resolveAfter2Seconds(20);  const b = await resolveAfter2Seconds(30);  return x + a + b;};add(10).then((v) => {  console.log(v); // prints 60 after 4 seconds.});// async function expression used as an IIFE(async function (x) {  const p1 = resolveAfter2Seconds(20);  const p2 = resolveAfter2Seconds(30);  return x + (await p1) + (await p2);})(10).then((v) => {  console.log(v); // prints 60 after 2 seconds.});

Asynchrone IIFE

EinasyncIIFE ermöglicht Ihnen die Verwendung vonawait undfor...await in Kontexten, in denenTop-Level Await nicht verfügbar ist. Hier verwenden wir einePfeilfunktion, um das IIFE zu definieren, aber auchasync function Ausdrücke können verwendet werden.

js
const getFileStream = async (url) => {  // implementation};(async () => {  const stream = await getFileStream("https://domain.name/path/file.ext");  for await (const chunk of stream) {    console.log({ chunk });  }})();

Spezifikationen

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

Browser-Kompatibilität

Siehe auch

MDN-Feedback-Box

Diese Seite wurde automatisch aus dem Englischen übersetzt.


[8]ページ先頭

©2009-2025 Movatter.jp