TL; DR:
Я подписываюсь на мой Observable<User>
после он нашел User
, поэтому он вызывает OnNext()
, когда никто не слушает (еще).Я хотел бы, чтобы можно было либо уведомлять о подписке, либо просить о подписке (наблюдатель наблюдает или наоборот)
Контекст:
У меня есть UserService
, MessageService
,MessageViewModel
и DefaultMessageRequest
.ViewModel использует сервис, сервис использует запрос, а userService немного "везде", так как большинство из них слушает его, когда новый пользователь найден.
Когда пользователь вышел из системы и, наконец,При входе в систему UserService
уведомляет всех наблюдателей о том, что есть новый пользователь, и, таким образом, запускает различные вызовы, один из которых получает сообщение DefaultMessage.
Моя проблема заключается в том, что приложение имеет постоянство пользователя, что означает, что когдаиногда запускается, уже вошел в систему (токен действует достаточно долго), и поэтому, когда все подписываются, уже есть пользователь, и никто не знает об этом, потому что OnNext не запускается.Это приводит к некоторым проблемам, и мне нужна помощь, чтобы выяснить, кто должен действовать (наблюдатель? Наблюдаемый?), И как это сделать.
Мои вопросы:
- Является ли роль Наблюдаемого уведомлять наблюдателя, когда он подписывается?Или каждый наблюдатель должен вручную спросить наблюдателя, есть ли там что-нибудь уже во время подписки?
- Как мне решить мою проблему?У меня есть чувство, что я могу что-то изменить в своем методе Subscribe (), который поможет с этим, но я не смог найти что-то "дружественное к шаблону" в документах.