【发布时间】:2016-08-15 13:39:27
【问题描述】:
我有 2 个 API,我想按顺序发出请求并将它们的数据存储在 SQLite 中。
首先我想向 API A 发出请求并将其数据存储在 SQL 表 a 中。然后向 APIB 发出请求,并将其数据存储在表 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;
});
});
如果我不使用 lambda 函数,这看起来和普通的嵌套调用一样难看。这是更好的方法吗?
【问题讨论】: