Я продолжаю работать в ситуациях, когда хочу, чтобы я мог услышать ответ на запрос через RxJava. Проблема в том, что я не уверен, как настроить Observable, чтобы я слушал события и отправлял сообщение на подписку в правильном порядке. Я не хочу посылать сообщение, а потом слушать, потому что, если поток приостанавливается или ответ очень быстрый, я могу его пропустить. Это ближе всего я мог думать о моей собственнойСлушайте, а затем отправляйте по подписке с RxJava
connection.onReceivedMessage()
.doOnSubscribe(() -> connection.send(message))
.filter(message -> message.id == id)
... // do stuff
или
Observable.defer(() -> {
connection.send(message);
return connection.onReceivedMessage();
})... // do stuff
Но это все еще кажется, что я все еще мог послать сообщение и не слушая ответа. Кто-нибудь еще пытался это сделать? Я чувствую, что мне действительно нужен вид afterCreate().
doOnSubscribe работает так? Я должен буду это проверить больше. Я признаю, что я никогда не проводил единичный тест для проверки. – Buttink