Что мне нужно сделать, это сделать завершаемый вызов (проверить токен сеанса), а затем, когда он будет завершен, обновить токен сеанса в следующем запросе (возвращая последний вызов, который является единичным).
Это то, что я имею до сих пор, что делает работу, но выглядит грязно.Должен быть более чистый способ сделать это?Я ищу решение, подобное тому, как работает flatmap (), но я хочу вернуть последний сингл.
Single<ItemsResponse> getItems() {
return verifySessionBeforeApiRequest().andThen
(Completable.create(new CompletableOnSubscribe() {
@Override
public void subscribe(CompletableEmitter e) throws Exception {
nextRequest.setSession(getSessionId());
e.onComplete();
}
})).andThen(makeFinalCall(nextRequest));
}