Solicitações de encadeamento no Retrofit + RxJava

Eu tenho 2 APIs que eu quero fazer solicitação em sequência e armazenar seus dados no SQLite.

Primeiro, quero fazer uma solicitação à APIA e armazena seus dados na tabela SQLa. Em seguida, faça uma solicitação à APIB e armazene seus dados na tabelab e alguns dados na tabelaa_b. Os dados armazenados ema_b é de pedidoB sozinho.

Como posso fazer isso usando o RxJava. Eu li em algum lugar sobre o uso do flatMap para isso, algo como isto

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;
        });
    });

Se eu não estivesse usando funções lambda, isso pareceria tão feio quanto as chamadas aninhadas normais. Essa é a melhor maneira de fazer isso?

questionAnswers(2)

yourAnswerToTheQuestion