Sobes.tech
Junior — Middle

Quais são as diferenças entre os métodos Then e await para lidar com operações assíncronas?

sobes.tech IA

Resposta da IA

O método then e o operador await são usados para trabalhar com promessas em JavaScript, mas têm abordagens e sintaxes diferentes.

  • Método Then — é uma forma de tratar o resultado de uma promessa através de cadeias de chamadas. Ele retorna uma nova promessa e permite processar o resultado ou erro através de funções de callback.
fetch(url)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));
  • Await — é um açúcar sintático que permite escrever código assíncrono de forma síncrona, tornando-o mais legível. Funciona apenas dentro de funções async.
async function fetchData() {
  try {
    const response = await fetch(url);
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error(error);
  }
}

Principais diferenças:

  • await torna o código mais linear e legível, especialmente em operações assíncronas sequenciais.
  • then requer chamadas aninhadas ou encadeadas, o que pode tornar o código menos legível.
  • await permite usar construções familiares como try/catch para lidar com erros, enquanto com then usa-se .catch().
  • then pode ser usado em qualquer lugar, await apenas dentro de funções async.