Skip to content
On this page

Unicast VS Mulitcast ?

Un "observable unicast" est un observable qui ne peut être partagé qu'avec un seul observateur. Cela signifie que chaque fois qu'un observateur souhaite s'inscrire à l'observable, une nouvelle instance de l'observable doit être créée.

Un "observable multicast" est un observable qui peut être partagé avec plusieurs observateurs. Cela signifie que plusieurs observateurs peuvent s'inscrire à l'observable sans avoir à recréer l'observable à chaque fois.

Voici comment utiliser un observable unicast et un observable multicast :

js
import { interval, Subject } from 'rxjs'

// Unicast observable
const source = interval(1000);

const observer1 = source.subscribe(x => console.log('Observer 1: ' + x));
const observer2 = source.subscribe(x => console.log('Observer 2: ' + x));

// Multicast observable
const subject = new Subject();

const observer3 = subject.subscribe(x => console.log('Observer 3: ' + x));
const observer4 = subject.subscribe(x => console.log('Observer 4: ' + x));

Dans cet exemple, l'observable source est un observable qui produit une valeur toutes les secondes. L'observable source est un observable unicast, donc chaque fois qu'un observateur souhaite s'inscrire à l'observable, une nouvelle instance de l'observable doit être créée. Dans cet exemple, les observateurs 1 et 2 sont des instances distinctes de l'observable source.

Le multicast observable subject est un "Subject", qui est un type d'observable qui peut stocker des observateurs inscrits et les informer de toutes les valeurs produites par la source observable.