Ich laufe immer in Situationen, in denen ich auf eine Antwort auf eine Anfrage über RxJava hören wollen. Das Problem ist, ich bin mir nicht sicher, wie ich das Observable so einrichten soll, dass ich auf Ereignisse lausche und die Nachricht auf subscribe in der richtigen Reihenfolge sende. Ich möchte die Nachricht nicht senden und dann zuhören, denn wenn der Thread ausgesetzt wird oder die Antwort sehr schnell ist, könnte ich es vermissen. Dies ist in der Nähe von was ich denken konnte auf meinem eigenenHören Sie dann senden Sie auf abonnieren mit RxJava
connection.onReceivedMessage()
.doOnSubscribe(() -> connection.send(message))
.filter(message -> message.id == id)
... // do stuff
oder
Observable.defer(() -> {
connection.send(message);
return connection.onReceivedMessage();
})... // do stuff
Aber diese scheinen immer noch wie ich nach wie vor die Nachricht senden konnte und nicht für die Antwort zuhören. Hat jemand anderes versucht, dies zu tun? Ich habe das Gefühl, ich möchte wirklich eine Art AfterCreate().
doOnSubscribe funktioniert so? Ich werde das mehr testen müssen. Ich gebe zu, dass ich nie einen Komponententest zur Überprüfung gemacht habe. – Buttink