我想为每个仓库的提交做一次github repos列表的两次调用,并希望将它们保存在一起。
在第二次调用中,我需要父pojo的实例,所以我可以添加子响应。
即保存:Gitrepo
Gitrepo{
var name:String,
var commit:Commit //<-this is fetched in second call
}
当前代码:
networkModule.getRepos()
.flatMap { itemList ->
Observable.fromIterable(itemList)
}
.concatMapEager { item -> networkModule.getCommits(item.name!!)
.onErrorResumeNext(Observable.empty()) }
.subscribe(
{
//problem is here I get only Commit pojo,
//and have no access to Gitrepo, I'd like to do:
//gitrepo.commit = it
//db.save(gitrepo)
},
{
utilModule.logI("error response" + it.message)
}
)
答案 0 :(得分:1)
我认为GitRepo是一个类
试试这个:
networkModule.getRepos()
.flatMap { itemList ->
networkModule.getCommits(itemList.name!!).map{
item -> GitRepo(
name = itemList.name,
commit = item
).onErrorResumeNext(Observable.empty())
}
}
.subscribe(
{
/*do what you want*/
},
{
utilModule.logI("error response" + it.message)
}
)