android-RxJava2 toList()从不发出

android-RxJava2 toList()从不发出,第1张

概述所以我有下面的Disposable无效.我正在使用Room从表中获取所有行作为列表,将它们分别映射到某个东西并创建一个列表,然后它不会从那里继续.storedSuggestionDao.getSuggestionsOrderByType()//Flowable.doOnNext(storedSuggestions->Timber.e("storedSuggestions:"

所以我有下面的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();

解决方法:

来自第三方的这些类型的数据源通常是无限来源,但是toList()需要有限来源.我猜您想处理该storedSuggestions的集合并将其保持在一起.您可以通过内部转换来实现:

storedSuggestionDao.getSuggestionsOrderByType() //Flowable.doOnNext(storedSuggestions -> Timber.e("storedSuggestions: " + storedSuggestions)) //this work// -------------------------------------.flatMapSingle(storedSuggestions ->     Flowable.fromIterable(storedSuggestions)    .map(Selection::create)    .doOnNext(selection -> Timber.e("Selection: " + selection))    .toList())// -------------------------------------.doOnNext(selections -> Timber.d("selections: " + selections)).map(SuggestionUiModel::create).doOnNext(suggestionUiModel -> Timber.d("suggestionUiModel: " + suggestionUiModel)).subscribe();
总结

以上是内存溢出为你收集整理的android-RxJava2 toList()从不发出全部内容,希望文章能够帮你解决android-RxJava2 toList()从不发出所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1091857.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存