RxJS - PublishReplay del operador de multidifusión

PublishReplay hace uso del tema de comportamiento, en el que puede almacenar los valores y reproducir los mismos a los nuevos suscriptores y devuelve ConnectableObservable. El método connect () debe usarse para suscribirse al observable creado.

Sintaxis

publishReplay(value); // here value is the number of times it has to replay.

Ejemplo

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);

Salida