Skip to main content

Як перетворити observable на signal?

Щоб перетворити Observable на signal, використовують функцію toSignal() з @angular/core/rxjs-interop.

Приклад:

ts
import { Component } from '@angular/core'; import { toSignal } from '@angular/core/rxjs-interop'; import { interval } from 'rxjs'; @Component({ selector: 'app-timer', template: ` <p>Лічильник: {{ time() }}</p> ` }) export class TimerComponent { // Observable, щосекунди видає нове число source$ = interval(1000); // Перетворюємо Observable → Signal time = toSignal(this.source$, { initialValue: 0 }); }

Що робить toSignal():

  • створює сигнал, який автоматично оновлюється при кожному новому значенні з Observable;
  • initialValue - обов'язковий параметр, поки потік ще не видав перше значення;
  • Angular сам керує підпискою і відпискою - вручну нічого робити не потрібно.

Підсумок: toSignal() перетворює потік RxJS на звичайний сигнал, який можна використовувати в шаблоні без async-пайпа.

Коротка відповідь

Для співбесіди
Premium

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