 publish function deprecated operator  
Returns a ConnectableObservable, which is a variety of Observable that waits until its connect method is called before it begins emitting items to those Observers that have subscribed to it. Deprecation Notes Will be removed in v8. Use the connectable observable, the connect operator or the share operator instead. See the overloads below for equivalent replacement examples of this operator's behaviors. Details: https://rxjs.dev/deprecations/multicasting publish<T, R>(selector?: OperatorFunction<T, R>): MonoTypeOperatorFunction<T> | OperatorFunction<T, R> Parameters     selector  OperatorFunction<T, R>   Optional. Default is undefined.  Optional selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all notifications of the source from the time of the subscription on.     Returns MonoTypeOperatorFunction<T> | OperatorFunction<T, R>: A function that returns a ConnectableObservable that upon connection causes the source Observable to emit items to its Observers. Description Makes a cold Observable hot  Examples Make source$ hot by applying publish operator, then merge each inner observable into a single one and subscribe import { zip, interval, of, map, publish, merge, tap } from 'rxjs';

const source$ = zip(interval(2000), of(1, 2, 3, 4, 5, 6, 7, 8, 9))
  .pipe(map(([, number]) => number));

source$
  .pipe(
    publish(multicasted$ =>
      merge(
        multicasted$.pipe(tap(x => console.log('Stream 1:', x))),
        multicasted$.pipe(tap(x => console.log('Stream 2:', x))),
        multicasted$.pipe(tap(x => console.log('Stream 3:', x)))
      )
    )
  )
  .subscribe();

// Results every two seconds
// Stream 1: 1
// Stream 2: 1
// Stream 3: 1
// ...
// Stream 1: 9
// Stream 2: 9
// Stream 3: 9 See Also  
publishLast  
publishReplay  
publishBehavior   

    
{'path': 'public/docs/rxjs/api/index/function/publish.html', 'source': 'DevDocs.IO'}