我有Observable
从String
数组中获取数据。每个字符串都是一个id,所以我想用该数组查询我的数据库表并获取一个对象。最后,我想添加列表中找到的对象并将其返回subscribe()
。以上我有代码我尝试这样做
val temp = Observable.from(plan.components)
.flatMap {
id -> subscriptionRepository.getComponentByUuid(id)
.filter { component -> !component.enabled }
}
.map { component -> component }
.toList()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe ({ list -> TNLog.d("List size is: "+list.size)})
unsubscribeOnUnbindView(temp)
问题是,即使代码到达.map并且可以看到对象是正确的,在调用.toList()
之后也没有。似乎永远不会调用onComplete
,因此.subscribe()
也不会。我该如何解决这个问题?
答案 0 :(得分:1)
toList()才能知道何时返回。只需在您的来源上调用onComplete即可。