Get to know MDN better
Esta página foi traduzida do inglês pela comunidade. Saiba mais e junte-se à comunidade MDN Web Docs.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since abril de 2017.
A declaração async function define uma função assíncrona, que retorna um objeto AsyncFunction.
Você também pode definir funções assíncronas usando uma expressão async function.
O nome da função.
paramO nome de um parâmetro a ser passado para a função.
instruçõesAs instruções que compõem o corpo da função.
Quando uma função assíncrona é chamada, ela retorna uma Promise. Quando a função assíncrona retorna um valor, a Promise será resolvida com o valor retornado. Quando a função assíncrona lança uma exceção ou algum valor, a Promise será rejeitada com o valor lançado.
Uma função assíncrona pode conter uma expressão await, que pausa a execução da função assíncrona e espera pela resolução da Promise passada, e depois retoma a execução da função assíncrona e retorna o valor resolvido.
Nota: A proposta das funções async/await é de simplificar o uso de forma síncrona das Promises e executar alguns procedimentos em um grupo de Promises. Assim como Promises são similares a callbacks estruturados, funções async/await são similares à junção de generators com Promises.
Uma API que retorna uma Promise vai resultar em uma cadeia de Promises e separa a função em várias partes. Considere o seguinte código:
pode ser escrita em uma única função async desta forma:
Note que no exemplo acima não tem a instrução await na instrução do return, porque o valor retornado de uma função async é implícitamente passado por um Promise.resolve.
| ECMAScript® 2027 Language Specification # sec-async-function-definitions |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 8 de ago. de 2024 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.