【发布时间】:2020-02-17 08:57:04
【问题描述】:
我正在尝试写一个有趣的东西,输入为list of Strings 说UserIds 并返回为Single<>
该方法看起来像这样
fun getUserSubjectsForPeriod(userIds: List<String>, startDate: String, endDate: String): Single<Pair<String, List<UserSubjects>>> {
return Observable.fromIterable(userIds)
.map {id->
userSubjectRepository.loadUserSubjects(id, startDate, endDate)
.map {
val userSubjects = userSubjectMapper.mapToDomain(it)
Pair(id,userSubjects)
}
}
}
这个函数正在返回
Observable<Single<Pair<String, List<UserSubjects>>>> 而不是Single<Pair<String, List<UserSubjects>>>。
如何返回所需的输出?
【问题讨论】:
-
您正在迭代一个 id 列表并创建一个 Pair 实例,其中包含 id 和每个 id 的 UserSubjects 列表。如果你想返回一个 Pair 的一个实例(Single)而不是 Pair 的多个实例(Observable),你想返回哪一个?列表的第一个?最后一个?如果您想在 Single 而不是 Observable 中返回所有这些,那么您正在寻找
Single<List<Pair<String, List<UserSubjects>>>>签名而不是? -
我想全部退货...但我相信我不必这样做
Single<List<Pair<String, List<UserSubjects>>>>。但我的问题是如何返回 Single 而不是 Observable
标签: kotlin observable rx-java2 iterable