HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
Get to know MDN better
Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.
View in English Always switch to English
This feature is well established and works across many devices and browser versions. It’s been available across browsers since abril de 2017.
La palabra clave async function puede ser utilizada para definir funciones async dentro de expresiones.
async function
async
También se pueden definir funciones asíncronas utilizando un enunciado de función asíncrona.
async function [nombre]([param1[, param2[, ..., paramN]]]) { enunciados }
A partir de ES2015 (ES6), también se pueden emplear funciones flecha.
name
El nombre de la función. Puede ser omitida, en cuyo caso la función es anó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.
Una expresión async function es muy similar, y casi tiene la misma sintaxis que, una async function statement. La principal diferencia entre una expresión async function y un enunciado async function es el nombre de la función, que puede ser omitido en una expresión async function para crear funciones anonymous. Una expresión async function puede ser utilizada como un IIFE (Expresión de función inmediatamente invocada, Immediately Invoked Function Expression) que se ejecuta tan rápido como es definida. Ver el capítulo sobre funciones para tener más información.
async function statement
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. });
Enable JavaScript to view this browser compatibility table.
AsyncFunction
await