Як effect обробляє помилки?
Якщо всередині effect() стається помилка, Angular перехоплює її, щоб застосунок не "впав". Помилка просто виводиться в консоль, але не ламає роботу інших сигналів і ефектів.
Приклад:
ts
import { signal, effect } from '@angular/core';
const value = signal(0);
effect(() => {
if (value() > 3) {
throw new Error('Занадто велике значення!');
}
console.log('Value:', value());
});Коли value стане більше 3, Angular виведе помилку в консоль, але решта частин застосунку продовжить працювати.
Головне:
- помилки не зупиняють реактивну систему;
- ти можеш сам обгорнути код у
try...catch, якщо хочеш обробити їх по-своєму:
ts
effect(() => {
try {
riskyOperation();
} catch (e) {
console.error('Помилка в ефекті:', e);
}
});Так ти сам контролюєш, що відбувається при збої.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.