Итак, в основном, что я пытаюсь сделать, это сделать первый сетевой вызов. И если вызываемая веб-служба RESTful возвращает 1, сделайте второй сетевой вызов. Если веб-служба возвращает 0, второй сетевой вызов не выполняется.
Вот мой код
final ApiInterface apiInterface=restAdapter.create(ApiInterface.class);
apiInterface.submitDataToAnalyze("dataToAnalyze","852741963",1,"123","lalala","2015-11-20")
.flatMap(new Func1<BasicResponse, Observable<?>>() {
@Override
public Observable<?> call(BasicResponse basicResponse) {
if (basicResponse.getResult() == 1){
return apiInterface.getSuggestion("dataToAnalyze","852741963",1,"123","lalala","2015-11-20");
}else{
return 0; //error
}
}
}).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread());
Очевидно, что приведенный выше код неверен, так как он всегда должен возвращать Observable. Итак, как должен быть написан мой код, если первый сетевой вызов возвращает 0?