使用 Rx 填充具有额外响应的模型
Filled model with extra response using Rx
我是 Rx 的新手 java,我当前的任务是我有 2 个请求
@GET(NEWS_LIST)
fun getNews(): Observable<NewsResponse>
@GET
fun getNewsImage(@Url url: String): Observable<NewsImage>
并且我想将图像 url 添加到第二个响应模型的第一个响应模型。第二个取决于第一个。如何将它们合并到 Rx 流中?
所以第一个请求 returns 我的新闻列表,然后我需要为每个带有 url 的项目调用 getNewsImage(url)
从这个模型,解析真实图像 url 来自第二个响应,将其添加到 news
对象并获得包含填充模型的最终列表
感谢您的任何建议
如果我答对了:第一个回答是 List<>
或一些 Collection
。所以你可以这样做:
getNews().from()
.flatmap(new Func1<1stResponseItem, 2dnResponseItem>() {
@Override
public 2dnResponseItem call(1stResponseItem response) {
return getNewsImage(response.getImageUrl());
}
})
.tolist()
的文档
getNews()
.flatMap { Observable.fromIterable(it.getTopicsList()) } //or Observable.from() if you use RxJava1
.flatMap({ getNewsImage(it) }, { topic, imageUrl ->
topic.imageUrl = imageUrl
return@flatMap topic
})
.toList()
第二个 flatMap
将来自源 Observable 的项目与由这些源项目触发的 Observable 组合,并发出这些组合。 More info
我是 Rx 的新手 java,我当前的任务是我有 2 个请求
@GET(NEWS_LIST)
fun getNews(): Observable<NewsResponse>
@GET
fun getNewsImage(@Url url: String): Observable<NewsImage>
并且我想将图像 url 添加到第二个响应模型的第一个响应模型。第二个取决于第一个。如何将它们合并到 Rx 流中?
所以第一个请求 returns 我的新闻列表,然后我需要为每个带有 url 的项目调用 getNewsImage(url)
从这个模型,解析真实图像 url 来自第二个响应,将其添加到 news
对象并获得包含填充模型的最终列表
感谢您的任何建议
如果我答对了:第一个回答是 List<>
或一些 Collection
。所以你可以这样做:
getNews().from()
.flatmap(new Func1<1stResponseItem, 2dnResponseItem>() {
@Override
public 2dnResponseItem call(1stResponseItem response) {
return getNewsImage(response.getImageUrl());
}
})
.tolist()
的文档
getNews()
.flatMap { Observable.fromIterable(it.getTopicsList()) } //or Observable.from() if you use RxJava1
.flatMap({ getNewsImage(it) }, { topic, imageUrl ->
topic.imageUrl = imageUrl
return@flatMap topic
})
.toList()
第二个 flatMap
将来自源 Observable 的项目与由这些源项目触发的 Observable 组合,并发出这些组合。 More info