фонаобслуживания вызовов, только если предшествующие наблюдаемый удалось
Я просто погружение в концепцию RX для Java. Честно говоря, я не понимаю. В моем проекте я использую модифицированную библиотеку для звонков. В настоящее время я реализовал все службы с использованием обратного вызова. Если я хочу организовывать вызовы служб, мне приходится вызывать обратные вызовы в обратных вызовах, что приводит к довольно запутанному коду.
Проблема
Для следующих двух служб, я хотел бы назвать обслуживание B тогда и только тогда сервиса завершенными успешно используя подход наблюдаемого.
public interface RetrofitRestService {
@GET("...")
Observable<Object> A();
@GET("...")
Observable<Object> B();
}
Я искал Observable operators я мог бы использовать для моей задачи, но без удачи. Я могу представить себе оператор, как это:
RetrofitRestServices service;
service.A().ifSuccessfull(B());
//OR
service.A().ifWasNotEmpty(B());
//OR
service.A().useCondition(new Condition(){ ... }, B());
Я собираюсь попробовать это сегодня днем. Как я могу работать с результатом A(), а затем использовать «concatWith»? Мне нужно обработать результат A(). Если это более длинное решение, добавьте в ответ ответ. – zatziky
Я добавил информацию. – dwursteisen
Новая информация выглядит великолепно. Я до сих пор не добрался до дома. Но не могу дождаться, чтобы проверить это. Я верю, что это сработает. Еще одна вещь ... В Android мы все еще используем Java 6, там нет закрытий. Как вы напишете «service.A(). FlatMap (resultOfA -> service.B (resultOfA)). Subscribe();" в Java 6. Я имею в виду, в частности, «resultOfA -> ...». – zatziky