gpt4 book ai didi

java - toBlockingFirst方法靠谱吗?

转载 作者:行者123 更新时间:2023-11-29 18:55:17 24 4
gpt4 key购买 nike

我对方法 toBlockingFirst() 的问题。

这是一种可靠的方法吗?即我可以通过崩溃获得 InterruptedException

如果我从 subscrine 调用 dispose for disposable?

例如:

.flatMap{ host ->
val count = userRepository.getUsers(PrefProvider.currentTourCode)
.map { it.size }
.blockingFirst()
if (count>2) {
callSomething()
} else {
callElse()
}
}

有人可以解释一下吗?

最佳答案

如果 flatMap 在 RxJava Scheduler 上运行,当 blockingFirst 被调用时,你可能会得到一个 InterruptedException 包装到 RuntimeException 中。但是,您不应在处理程序中调用阻塞方法,而应通过 flatMap

进行组合
.flatMap{ host ->
userRepository.getUsers(PrefProvider.currentTourCode)
.flatMap {
if (it.size) {
return callSomething()
}
return callElse()
}
}

根据 callSomethingcallElse 应该做什么以及它们是否应该返回某些东西,您还可以使用 map doOnNext 而不是 flatMap

关于java - toBlockingFirst方法靠谱吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50023866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com