Na programação, é comum recebermos dados externos através de um endpoint de uma API REST ou resultados de algum outro processamento. Quando isso ocorre, o sistema tem que esperar os dados chegarem antes de utilizar o resultado. Porém, podemos executar essas tarefas em segundo plano usando a programação assíncrona.
Antes, era necessário utilizar a síntaxe de Promises, que difere das funções síncronas. Porém, com o ES2017, foi introduzido o async...await
, que nos permite escrever funções assíncronas da mesma forma que escrevemos funções síncronas.
Segue um exemplo de função assíncrona com async...await
:
async function getUser(userId) {
let response = await fetch(`https://api.com/api/user/${userId}`);
let userData = await response.json();
return userData.name;
}