我一直遇到這種情況,我希望能夠通過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