Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade 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 março de 2017.
* Some parts of this feature may have varying levels of support.
O operadorawait é utilizado para esperar por umaPromise. Ele pode ser usado apenas dentro de umaasync function.
In this article
Sintaxe
[rv] = await expressão;
Descrição
A expressãoawait faz a execução de uma funçãoasync pausar, para esperar pelo retorno daPromise, e resume a execução da funçãoasync quando o valor da Promise é resolvido. Ele então retorna o valor final da Promise. Se esse valor não for umaPromise, ele é convertido para umaPromise resolvida.
Se aPromise for rejeitada, a expressãoawait invoca uma Exception com o valor rejeitado.
Exemplos
Se umaPromise é passada para uma expressãoawait, ele espera pela sefinalização daPromise e retorna seu valor final.
function resolveAfter2Seconds(x) { return new Promise((resolve) => { setTimeout(() => { resolve(x); }, 2000); });}async function f1() { var x = await resolveAfter2Seconds(10); console.log(x); // 10}f1();Se o valor não for umaPromise, ele converte o valor para umaPromise resolvida, e espera por ele.
async function f2() { var y = await 20; console.log(y); // 20}f2();Se aPromise for rejeitada, o valor rejeitado é invocado em uma Exception.
async function f3() { try { var z = await Promise.reject(30); } catch (e) { console.log(e); // 30 }}f3();Especificações
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-async-function-definitions> |