Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.

Expresión de función asíncrona

BaselineWidely available

La palabra claveasync function puede ser utilizada para definir funcionesasync dentro de expresiones.

También se pueden definir funciones asíncronas utilizando unenunciado de función asíncrona.

Sintaxis

async function [nombre]([param1[, param2[, ..., paramN]]]) {  enunciados}

A partir de ES2015 (ES6), también se pueden emplearfunciones flecha.

Parámetros

name

El nombre de la función. Puede ser omitida, en cuyo caso la función esanónima. El nombre es sólo local al cuerpo de la función.

paramN

El nombre de un argumento a ser pasado a la función.

statements

Los enunciados que componen el cuerpo de la función.

Descripción

Una expresiónasync function es muy similar, y casi tiene la misma sintaxis que, unaasync function statement. La principal diferencia entre una expresiónasync function y un enunciadoasync function es elnombre de la función, que puede ser omitido en una expresiónasync function para crear funcionesanonymous. Una expresiónasync function puede ser utilizada como unIIFE (Expresión de función inmediatamente invocada, Immediately Invoked Function Expression) que se ejecuta tan rápido como es definida. Ver el capítulo sobrefunciones para tener más información.

Ejemplos

Ejemplo sencillo

js
function resuelve2SegundosDespues(x) {  return new Promise((resolve) => {    setTimeout(() => {      resolve(x);    }, 2000);  });}const agregar = async function (x) {  // Expresión de una función asíncrona asignada a una variable  let a = await resuelve2SegundosDespues(20);  let b = await resuelve2SegundosDespues(30);  return x + a + b;};agregar(10).then((v) => {  console.log(v); // imprime 60 después de 4 segundos.});(async function (x) {  // expresión de una función asíncrona utilizada como una IIFE  let p_a = resuelve2SegundosDespues(20);  let p_b = resuelve2SegundosDespues(30);  return x + (await p_a) + (await p_b);})(10).then((v) => {  console.log(v); // imprime 60 después de 2 segundos.});

Especificaciones

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

Compatibilidad de los navegadores

Ver también

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp