Operators Gebruikt voor Multicasting
In RxJS zijn er verschillende speciale operators beschikbaar om "multicasting" te realiseren, waarbij de output van dezelfde Observable wordt gedeeld met meerdere subscribers.
Deze pagina introduceert kort representatieve operators die verband houden met multicasting vanuit het perspectief van operators, en organiseert hun gebruik en aandachtspunten.
❗ Voor conceptuele uitleg van multicasting en structurele beschrijving met Subject, en specifieke code voorbeelden, raadpleeg Het Mechanisme van Multicasting.
Belangrijkste Multicasting-gerelateerde Operators
| Operator | Kenmerken | Opmerkingen |
|---|---|---|
| share() | Eenvoudigste multicast middel. Intern equivalent aan publish().refCount() | Voldoende voor de meeste use cases |
| shareReplay() | Biedt recente waarden bij hernieuwde subscriptie naast multicasting | Wanneer hergebruik van status nodig is |
publish() + refCount() | Multicast configuratie met beheersbare uitvoeringstiming | Klassieke en flexibele configuratie |
multicast() | Low-level API die expliciet Subject doorgeeft | Effectief wanneer aangepaste Subject gewenst is |
Vergelijking van Multicasting Patronen
| Operator | Kenmerken | Use Case |
|---|---|---|
| share() | Basis multicasting | Gelijktijdig gebruik door meerdere componenten |
| shareReplay(n) | Buffert afgelopen n waarden | Vertraagde subscriptie/status delen |
publish() + refCount() | Fijnere controle mogelijk | Wanneer geavanceerde controle nodig is |
multicast(() => new Subject()) | Volledige aanpassing | Wanneer speciaal Subject-type nodig is |
Aandachtspunten bij Gebruik van Multicasting
- Timing begrijpen: Begrijp dat ontvangen waarden verschillen afhankelijk van wanneer subscriptie start
- Levenscyclus beheer: Vooral bij gebruik van
refCount, voltooit de stream wanneer subscribers nul worden - Foutafhandeling: Wanneer een fout optreedt in een multicast Observable, beïnvloedt dit alle subscribers
- Geheugenbeheer: Wees voorzichtig met geheugenlekkages bij gebruik van
shareReplaye.d.