【发布时间】:2017-02-07 15:59:59
【问题描述】:
我经常遇到我希望能够通过 RxJava 监听对请求的响应的情况。问题是我不确定如何设置 Observable 以便我监听事件并以正确的顺序在订阅时发送消息。我不想发送消息然后收听,因为如果线程被挂起或响应超快,我可能会错过它。这是我自己能想到的最接近的了
connection.onReceivedMessage()
.doOnSubscribe(() -> connection.send(message))
.filter(message -> message.id == id)
... // do stuff
或
Observable.defer(() -> {
connection.send(message);
return connection.onReceivedMessage();
})... // do stuff
但是这些似乎我仍然可以发送消息而不是监听响应。有没有其他人尝试过这样做?我觉得我真的想要一种 afterCreate()。
【问题讨论】:
标签: java android concurrency rx-java