Первый – это использование методов
publish()
и connect()
. Метод
publish()
создает из observable объект типа ConnectableObservable
. ConnectableObservable
не начинает рассылать элементы, когда на него подписываются. Рассылка запускается после вызова метода connect()
. Когда вызван метод connect()
, начинается эмитинг элементов независимо от того, есть ли подписчики.Второй способ – обернуть observable в subject, как показано на картинке. В этом случае эмитинг элементов оригинального observable стартует, когда на него подписывается subject. А subject, являясь hot observable, рассылает элементы независимо от наличия подписчиков.