鉴于界面简单:
public interface Api {
@Get("/{id}")
Observable<Person> getPerson(@Path("id") String id);
}
和一个叫:
api.getPerson("me").toBlocking().single();
除了我的应用程序没有终止之外,一切都按预期工作。如果我订阅Observable并在完成而不是阻止时取消订阅并不重要,我的代码将不会终止。
要说清楚,这不是Android应用。
我哪里错了?
答案 0 :(得分:1)
我要去做“已经晚了”的辩护。
我只是将调用更改为在io调度程序上进行订阅,并在即时调度程序上进行观察,如下所示:
api.getPerson("me").subscribeOn(Schedulers.io()).observeOn(Schedulers.immediate()).toBlocking().single();
Simples。