publishBehaviour usa BehaviourSubject e retorna ConnectableObservable. O método connect () deve ser usado para assinar o observável criado.
Sintaxe
publishBehaviour(defaultvalue)
Exemplo
import { interval} from 'rxjs';
import { take, publishBehavior} from 'rxjs/operators';
let observer = interval(1000).pipe(
take(5),
publishBehavior(4)
);
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();
console.log("After 2 seconds");
setTimeout(() => {
const subscribe_three = observer.subscribe(
x => console.log("Value from Sub3 = "+x)
);
}, 2000);
Resultado
O valor padrão será exibido primeiro e depois o valor do observável.