【发布时间】:2020-09-16 17:44:11
【问题描述】:
我是 scala 的新手,正在研究 Futures。所以我有一个返回 Future 的方法调用,我的代码如下。
val futureResult = data.getState //this returns future
Await.result(id, 10 seconds) // waiting for future to complete
futureResult .onComplete({
case Success(result) => logger.info(s"resultis.. ${result}")
case Failure(exception) => exception.printStackTrace()
})
如果成功,我会在“结果”中得到想要的结果。但是我想在变量中获取结果的值,以将其传递给其他方法。我试过了。
val finalResult = futureResult.onComplete({
case Success(result) => logger.info(s"resultis.. ${result}")
case Failure(exception) => exception.printStackTrace()
})
当我打印 finalResult 时,它是空的。我如何才能使结果具有价值,以便它可以在其他地方使用
【问题讨论】:
-
为什么不能在success里面调用那个函数?
标签: scala