我是RxJava的新手,我想做一个方法调用,返回一个Observable,同步。
这是方法签名:
JsonObject login();
我尝试过类似的东西,但它不起作用:
public JsonObject login() {
return eventBus
.sendObservable(...)
.toBlocking().first().body();
}
我怎样才能让它发挥作用?
谢谢。
答案 0 :(得分:0)
按设计可观察是同步的,如果你想要任何操作异步你必须使用一个特定的操作符。(onSubscribe,onObserver,buffer ....)
另外不要使用toBlocking,除非你的测试几乎是反模式,试着改用Observer模式。
public void main(String args[]){
login().subscribe(jsonObject-> do Whatever you need);
}
public Observable<JsonObject> login() {
return eventBus.sendObservable(...) --> I guess this call return an Observable
}
如果您想查看一些基本示例,请查看https://github.com/politrons/reactive