RxJS - Opérateur de multidiffusion publierReplay
publishReplay utilise le sujet de comportement, dans lequel, il peut mettre en mémoire tampon les valeurs et les rejouer aux nouveaux abonnés et renvoie ConnectableObservable. La méthode connect () doit être utilisée pour s'abonner à l'observable créée.
Syntaxe
publishReplay(value); // here value is the number of times it has to replay.
Exemple
import { interval} from 'rxjs';
import { take, publishReplay} from 'rxjs/operators';
let observer = interval(1000).pipe(
take(3),
publishReplay(2)
);
const subscribe_one = observer.subscribe(
x => console.log("Value from Sub1 = "+x)
);
const subscribe_two = observer.subscribe(
x => console.log("Value from Sub2 = "+x)
);
observer.connect();
setTimeout(() => {
const subscribe_three = observer.subscribe(
x => console.log("Value from Sub3 = "+x)
);
}, 2000);