Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.
await
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since marzo de 2017.
* Some parts of this feature may have varying levels of support.
El operador await es usado para esperar a una Promise. Sólo puede ser usado dentro de una función async function.
Sintaxis
[rv] = await expression;
expression-
Una
Promiseo cualquier otro valor por el cual haya que esperar. rv-
Regresa el valor terminado de la promesa o solamente un valor si no es una
Promise.
Descripción
La expresión await provoca que la ejecución de una función async sea pausada hasta que una Promise sea terminada o rechazada, y regresa a la ejecución de la función async después del término. Al regreso de la ejecución, el valor de la expresión await es la regresada por una promesa terminada.
Si la Promise es rechazada, el valor de la expresión await tendrá el valor de rechazo.
Si el valor de la expresión seguida del operador await no es una promesa, será convertido a una resolved Promise.
Ejemplos
Si una Promise se pasa a una expresión await, espera a que la Promise se resuelva y devuelve el valor resuelto.
function resolveAfter2Seconds(x) {
return new Promise((resolve) => {
setTimeout(() => {
resolve(x);
}, 2000);
});
}
async function f1() {
var x = await resolveAfter2Seconds(10);
console.log(x); // 10
}
f1();
Si el valor no es una Promise, convierte el valor a una Promise resuelta, y espera por dicho valor.
async function f2() {
var y = await 20;
console.log(y); // 20
}
f2();
Si la Promise es rechazada, se lanza una excepción con dicho el valor.
async function f3() {
try {
var z = await Promise.reject(30);
} catch (e) {
console.log(e); // 30
}
}
f3();
Especificaciones
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-async-function-definitions> |
Compatibilidad con navegadores
Loading...