function
stable
Returns a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification.
publishLast<T>(): UnaryFunction<Observable<T>, ConnectableObservable<T>>
There are no parameters.
UnaryFunction<Observable<T>, ConnectableObservable<T>>
: An observable sequence that contains the elements of a sequence produced by multicasting the source sequence.
Similar to publish
, but it waits until the source observable completes and stores the last emitted value. Similarly to publishReplay
and publishBehavior
, this keeps storing the last value even if it has no more subscribers. If subsequent subscriptions happen, they will immediately get that last stored value and complete.
import { interval } from 'rxjs'; import { publishLast, tap, take } from 'rxjs/operators'; const connectable = interval(1000) .pipe( tap(x => console.log("side effect", x)), take(3), publishLast()); connectable.subscribe( x => console.log( "Sub. A", x), err => console.log("Sub. A Error", err), () => console.log( "Sub. A Complete")); connectable.subscribe( x => console.log( "Sub. B", x), err => console.log("Sub. B Error", err), () => console.log( "Sub. B Complete")); connectable.connect(); // Results: // "side effect 0" // "side effect 1" // "side effect 2" // "Sub. A 2" // "Sub. B 2" // "Sub. A Complete" // "Sub. B Complete"
© 2015–2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors.
Code licensed under an Apache-2.0 License. Documentation licensed under CC BY 4.0.
https://rxjs.dev/api/operators/publishLast