publishValueSeeded method

ValueConnectableObservable<T> publishValueSeeded (T seedValue)

Convert the current Observable into a ValueConnectableObservable that can be listened to multiple times, providing an initial seeded value. It will not begin emitting items from the original Observable until the connect method is invoked.

This is useful for converting a single-subscription stream into a broadcast Stream that replays the latest emitted value to any new listener. It also provides access to the latest value synchronously.

Example

final source = Observable.fromIterable([1, 2, 3]);
final connectable = source.publishValueSeeded(0);

// Does not print anything at first
connectable.listen(print);

// Start listening to the source Observable. Will cause the previous
// line to start printing 0, 1, 2, 3
final subscription = connectable.connect();

// Late subscribers will receive the last emitted value
connectable.listen(print); // Prints 3

// Can access the latest emitted value synchronously. Prints 3
print(connectable.value);

// Stop emitting items from the source stream and close the underlying
// BehaviorSubject
subscription.cancel();

Implementation

ValueConnectableObservable<T> publishValueSeeded(T seedValue) =>
    ValueConnectableObservable<T>.seeded(this, seedValue);