2015-10-28 18 views
3

Недавно я обновился от retroft-beta1, и это работало. У меня есть следующий интерфейс для API:NetworkOnMainThreadException с retrofit-beta2 и rxjava

public interface Service { 
    @POST("path") 
    Observable<Object> service(); 
} 

И следующий вызов:

service.service() 
     .observeOn(AndroidSchedulers.mainThread()) 
     .subscribe(); 

И бросает NetworkOnMainThreadException. Но это работало в retrofit-beta1.

ответ

8

От retrofit-beta2, вызывает Наблюдаемые методы now behave synchronously. Таким образом, необходимо использовать subscribeOn:

service.service() 
     .subscribeOn(Schedulers.io()) 
     .observeOn(AndroidSchedulers.mainThread()) 
     .subscribe(); 
Смежные вопросы