0 Tage Serie
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
javascript
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 access
readonly 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.