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