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 operadorawait es usado para esperar a unaPromise. Sólo puede ser usado dentro de una funciónasync function.
In this article
Sintaxis
[rv] = await expression;
expressionUna
Promiseo cualquier otro valor por el cual haya que esperar.rvRegresa el valor terminado de la promesa o solamente un valor si no es una
Promise.
Descripción
La expresiónawait provoca que la ejecución de una funciónasync sea pausada hasta que unaPromise sea terminada o rechazada, y regresa a la ejecución de la funciónasync después del término. Al regreso de la ejecución, el valor de la expresiónawait es la regresada por una promesa terminada.
Si laPromise es rechazada, el valor de la expresiónawait tendrá el valor de rechazo.
Si el valor de la expresión seguida del operadorawait no es una promesa, será convertido a unaresolved Promise.
Ejemplos
Si unaPromise se pasa a una expresiónawait, espera a que laPromise 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 unaPromise, convierte el valor a unaPromise resuelta, y espera por dicho valor.
async function f2() { var y = await 20; console.log(y); // 20}f2();Si laPromise 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> |