Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от AI

За да проследите и обработите грешка при използване на обещание в състояние на отхвърляне, можете да използвате метода .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();

Този начин за обработка на грешки в отхвърленото състояние позволява правилна реакция при неуспехи и предотвратява срив на приложението.