Skip to main content

Як 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

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.