Як перетворити 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
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.