Baseline Widely available
La palabra clave async function
puede ser utilizada para definir funciones async
dentro de expresiones.
También se pueden definir funciones asÃncronas utilizando un enunciado de función asÃncrona.
Sintaxisasync function [nombre]([param1[, param2[, ..., paramN]]]) { enunciados }
A partir de ES2015 (ES6), también se pueden emplear funciones flecha.
Parámetrosname
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.
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 Compatibilidad de los navegadores Ver también
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