【发布时间】:2023-04-04 09:21:02
【问题描述】:
我有一个简单的代码,我只想获得一个boolean 值,但它包含在Future 对象中:
def getValue(arg: String) : Boolean = for {
data <- SomeObject.getData(arg) //SomeObject is in class constructor
value = data.getBooleanValue
} yield value
这里的问题是我需要返回Future[Boolean] 而不是简单的boolean。如何将其更改为仅返回原始类型?
【问题讨论】:
-
你想要
Future[Boolean]还是只是Boolean? -
要从
Future[Boolean]中取出Boolean,您可以等待Future完成,但这样做非常糟糕。它使整个Future变得毫无意义。最好返回Future[Boolean]。 -
@jacks jus 布尔
-
@jwvh - 是的,但是在返回 Future[Boolean] 之后我需要在其他地方使用这个值。
-
然后,当您“在其他地方使用它”时,将其用作
Future[Boolean]而不是Boolean。这有点麻烦,但并不难。Future值的全部意义在于尽可能长时间地将其留在Future中。如果您认为您必须等待Future,请再考虑一下。还有其他解决方案。