У меня есть два API-интерфейса, которые я хочу сделать последовательно, и хранить их в SQLite.
Сначала я хочу сделать запрос API A
и сохранить его данные в таблице SQL A
. Затем выполните запрос API B
и сохраните его данные в таблице B
и некоторые данные в таблице a_b
. Данные, хранящиеся в a_b
, принадлежат только запросу B
.
Как это сделать, используя RxJava. Я где-то читал об использовании flatMap для этого, что-то вроде этого
apiService.A()
// store in DB here? How? maybe use map()?
.flatMap(modelA -> {
// or maybe store modelA in DB here?
return apiService.B().map(modelB -> {
storeInDB()l // store B here ?
return modelB;
});
});
Если бы я не использовал лямбда-функции, это выглядело бы уродливым, как обычные вложенные вызовы. Это лучший способ сделать это?