Skip to content
On this page

Comment utiliser share en RxJS ?

La fonction share permet de partager une source d'observables avec plusieurs observateurs. Cela signifie que tous les observateurs qui s'abonnent à cette source d'observables partageront les mêmes valeurs émises. Voici comment utiliser la fonction share en RxJS :

  1. Tout d'abord, vous devez importer la fonction share depuis RxJS en utilisant l'instruction import suivante :
js
import { share } from 'rxjs';
  1. Ensuite, vous devez créer une source d'observables en utilisant l'une des nombreuses fonctions d'observables disponibles dans RxJS, comme of, from, interval, etc. Par exemple, pour créer un observable qui émet des valeurs numériques de 1 à 10 toutes les secondes, vous pouvez utiliser la fonction interval comme ceci :
js
const source = interval(1000).pipe(
  take(10),
  map(x => x + 1)
);
  1. Une fois que vous avez créé votre source d'observables, vous pouvez utiliser la fonction share pour partager cette source avec plusieurs observateurs. Pour cela, vous devez utiliser l'opérateur de transformation pipe pour enchaîner la fonction share avec votre source d'observables. Voici un exemple :
js
const shared = source.pipe(share());
  1. Enfin, vous pouvez vous abonner à la source d'observables partagée en utilisant la méthode subscribe et en fournissant un gestionnaire d'événements pour traiter les valeurs émises par l'observable. Voici un exemple :
js
shared.subscribe(console.log);
shared.subscribe(console.log);

Dans cet exemple, les deux observateurs imprimeront les mêmes valeurs émises par la source d'observables partagée.