我还在学习RxJava 2,而且我很难根据两个Observable来构建Observable<List<>>
。
目标是建立一个Observable<List<Schedule>>
。
我有可观察量Observable<List<Channel>> getChannels()
(=频道列表)和Observable<Schedule> getSchedule(long channelId)
(=频道时间表)。
这是我当前的Observable,它不会发出onNext()
:
Observable<List<Schedule>> oSchedules = getChannels()
.flatMapIterable(channel -> channel)
.flatMap(c -> getSchedule(c.id()))
.toList()
.toObservable();
Observable<Schedule> getSchedule(long channelId)
{
...
}
Observable<List<Channel>> getChannels()
{
...
}
工作正常,并发出我的数据:
Observable<Schedule> oSchedule = getChannels()
.flatMapIterable(d -> d)
.flatMap(i -> getSchedule(i.id(), start, end));
ToList()仅被称为Observable的onComplete,这就是为什么它没有工作。
答案 0 :(得分:0)
ToList()仅被称为Observable的onComplete,这就是它无法正常工作的原因。感谢@akarnokd,这就是我最终的目标。
getChannels()
.take(1)
.flatMapIterable(c -> c)
.flatMap(channel -> getSchedule(channel.id(), start, end)
.take(1))
.toList()
.toObservable()