javascript / expert
Snippet
Konvertierung reaktiver Streams mit toSignal
Das `toSignal`-Utility schließt die Lücke zwischen RxJS Observables und Angular Signals. Es abonniert das Observable und aktualisiert ein Signal, sobald ein neuer Wert emittiert wird. Dies ermöglicht es Entwicklern, leistungsstarke RxJS-Operatoren für die Datenverarbeitung zu nutzen und gleichzeitig die Einfachheit und Performance-Vorteile von Signals für das UI-Rendering beizubehalten.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import { toSignal } from '@angular/core/rxjs-interop';import { interval } from 'rxjs';@Component({ ... })export class DashboardComponent {private timer$ = interval(1000);// Converting Observable to Signal for synchronous template accessreadonly tick = toSignal(this.timer$, { initialValue: 0 });constructor() {effect(() => console.log('Current tick:', this.tick()));}}
angular
Erklärung
1
readonly tick = toSignal(this.timer$, { initialValue: 0 });
Konvertiert den Stream in ein schreibgeschütztes Signal, das den neuesten Wert synchron bereitstellt.
2
effect(() => console.log(...));
Innerhalb von Effekten verwendete Signals werden automatisch verfolgt, selbst wenn sie ursprünglich von einem Observable stammten.