Sobes.tech
Junior — Middle

Como pode-se rastrear e tratar um erro que ocorre ao usar uma promessa no estado rejeitado?

sobes.tech IA

Resposta da IA

Para rastrear e lidar com erros ao usar uma promessa em estado rejeitado, pode usar o método .catch() ou o segundo argumento do método .then().

Exemplo usando .catch():

fetch('https://api.example.com/data')
  .then(response => {
    if (!response.ok) {
      return Promise.reject('Erro de rede');
    }
    return response.json();
  })
  .then(data => {
    console.log('Dados:', data);
  })
  .catch(error => {
    console.error('Ocorreu um erro:', error);
  });

Também pode usar try...catch dentro de uma função assíncrona com await:

async function getData() {
  try {
    const response = await fetch('https://api.example.com/data');
    if (!response.ok) {
      throw new Error('Erro de rede');
    }
    const data = await response.json();
    console.log('Dados:', data);
  } catch (error) {
    console.error('Ocorreu um erro:', error);
  }
}
getData();

Assim, o tratamento de erros em estado rejeitado permite reagir corretamente às falhas e evitar que a aplicação falhe.