Sobes.tech
Back to questions
Junior — Middle
81

Каким образом можно отследить и обработать ошибку, возникающую при использовании промиса в состоянии rejected?

Answer from AI

sobes.tech AI

Чтобы отследить и обработать ошибку при использовании промиса в состоянии rejected, можно использовать метод .catch() или второй аргумент метода .then().

Пример с использованием .catch():

fetch('https://api.example.com/data')
  .then(response => {
    if (!response.ok) {
      return Promise.reject('Ошибка сети');
    }
    return response.json();
  })
  .then(data => {
    console.log('Данные:', data);
  })
  .catch(error => {
    console.error('Произошла ошибка:', error);
  });

Также можно использовать try...catch внутри асинхронной функции с await:

async function getData() {
  try {
    const response = await fetch('https://api.example.com/data');
    if (!response.ok) {
      throw new Error('Ошибка сети');
    }
    const data = await response.json();
    console.log('Данные:', data);
  } catch (error) {
    console.error('Произошла ошибка:', error);
  }
}
getData();

Таким образом, обработка ошибок в rejected состоянии позволяет корректно реагировать на сбои и предотвращать падение приложения.