полезно для такого подхода ...
ема у меня заключается в следующем. Мне нужно выполнить пару запросов к серверу. Каждый следующий запрос зависит от результата предыдущего. Они выглядят так (сокращенно):
Observable<FileUploadResponse> obsFile = api.uploadFile();
Observable<TokenCreateResponse> obsCreateToken = api.createToken();
Observable<PaymentResponse> obsPayment = api.submitOrder();
Я создал одну наблюдаемую область, используя flatMap, которая возвращает объект PaymentResponse или выдает onError (), если некоторые требования не выполнены. Это работает нормально, и я получаю все запросы в один вызов.
Проблема в том, что я не могу обновить интерфейс между этими запросами. При текущей настройке я показываю загрузку при запуске запроса и скрываю ее, когда все запросы выполнены. Есть ли способ обновить интерфейс между этими запросами?
Что я хочу, это: 1. Загрузка файла - напишите сообщение в пользовательском интерфейсе. 2. Создание токена - напишите сообщение в интерфейсе пользователя. 3. Отправка заказа - напишите сообщение в интерфейсе пользователя. 4. Как только все будет завершено, скройте диалог прогресса.
Насколько я понимаю, было бы излучать некоторые Observable с помощью onNext (), когда каждый вызов API завершен, и затем вызывать onComplete (), когда все сделано. Но как мне это сделать?