【发布时间】:2017-11-16 10:21:02
【问题描述】:
所以我有以下 Disposable 不起作用。我正在使用 Room 将表中的所有行作为列表获取,将它们中的每一个映射到某个东西并创建一个列表,然后它不会从那里继续。
storedSuggestionDao
.getSuggestionsOrderByType() //Flowable
.doOnNext(storedSuggestions -> Timber.e("storedSuggestions: " + storedSuggestions)) //this work
.flatMapIterable(storedSuggestions -> storedSuggestions)
.map(Selection::create) ))
.doOnNext(selection -> Timber.e("Selection: " + selection)) // works
.toList()
.toObservable() // nothing works after this...
.doOnNext(selections -> Timber.d("selections: " + selections))
.map(SuggestionUiModel::create)
.doOnNext(suggestionUiModel -> Timber.d("suggestionUiModel: " + suggestionUiModel))
.subscribe();
【问题讨论】:
-
为什么需要使用
.toObservable()? -
因为这是在另一个流中,它从 ui 获取字符串等,并检查是否需要获取存储的建议或访问网络。但即使我不做 toObservable(),它仍然不会在 toList() 之后发出。那时它是一个 Single 所以它应该在 onSuccess() 中返回一些东西
标签: android rx-java2 android-room