Что-то совесм не понятно
Observable.of("test").publish().refCount() НЕ выдаст "test" для новых подписчиков Observable.of("test").share() выдаст "test" для новых подписчиков.
все эти операторы преобразуют cold stream в hot stream. - без них: каждый subscribe триггерит создание нового stream - share: идет один "внутренний" subscribe и все подписчики (не зависимо от их колличества) получают одинаковые данные. Соответственно более поздние подписчики пропускают данные которые были до их подписки - shareReplay(N) - позволяет получить N данных до подписки - publishReplay(N).refCount() - почти то же самое. Разница в том, что если упадет колличество подписчиков до 0, а потом кто-то подпишется, тогда он получит кеш, и триггернет создание нового стрима
Посмотрите первый доклад из https://youtu.be/KFV7IgCU68Q
Обсуждают сегодня