繁体   English   中英

从rxjava中的Single中提取并返回对象

[英]Extract and return object from a Single in rxjava

我有下一个方法,该方法返回Single:

override fun getNavItemById(dCSServiceContext: DCSServiceContext):Single<NavItem>{
        return scribeProvider.getNavItemById(dCSServiceContext).map{ navItem ->
            return@map scribePresenter.presentNativeItem(navItem)
        }
    }

但我喜欢这种方法仅返回对象,例如:

override fun getNavItemById(dCSServiceContext: DCSServiceContext):NavItem{
        return scribeProvider.getNavItemById(dCSServiceContext).map{ navItem ->
            return@map scribePresenter.presentNativeItem(navItem)
        }// I need just the object in order to pass this result as a parameter to other method
    }

关于如何做到这一点的任何想法?

非常感谢!

在流的末尾添加.blockingGet()应该可以解决问题。 它将返回实际值而不是Single

它应该看起来像这样

return scribeProvider.getNavItemById(dCSServiceContext)
.map { navItem -> return@map scribePresenter.presentNativeItem(navItem) 
}.blockingGet()

如何转换 Observable<object> 单身<object>在 RxJava 中<div id="text_translate"><p>我是 RxJava 的新手,在这里我试图通过使用flatMap在列表中运行一些测试用例来返回 Single object of Object class 。 我正在尝试从Observable返回Single Object,如下所述:</p><pre> private fun isTrusted(configs: List<Configurations>): Single<Configurations> { return Observable.fromIterable(configs).flatMapSingle { val rate = it.rate?.profit val result = rate?.toMap()?.let { it1 -> tests.testRules(it1) } if (result == true.toString()) logd("---- rules: $result") res.toSingle() }.toList().map { list -> list.forEach { it-> if (list.contains(MATCH_UNKNOWN)) { test.isRulesUnknown = true } } } }</pre><p> 如果我做错了什么,请帮助我。</p></div></object></object>

[英]How to convert Observable<Object> to Single <Object> in RxJava

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM