0
def returnFuture[A](x: A): Future[A] = {
val xFuture = Future { x } // suppose an API call that returns a future
xFuture.flatMap(x => {
println(x) // logging the value of x
xFuture
})
}
这是我目前正在做的方式。为了提供更多的上下文:在将其返回到Scala之前记录未来的价值
该功能被调用的API内部时做出请求时,我想要打印的日志消息被返回在请求中计算出的值之前。这是为什么,下面是不是对我来说是很好的解决方案:
def returnFuture[A](x: A): Future[A] = {
val xFuture = Future { x } // suppose an API call that returns a future
xFuture.map(x => {
println(x) // logging the value of x
})
xFuture
}
'= {println(x);未来(x)}'或者我在这里错过了什么? –
@AlekseyIzmailov,不知道你在这里的意思。 –
你的情况“而该请求被处理”相同“的请求之前已处理”,因为你有工作的一个不可分割的单位,你不控制当未来将被执行。如果要在使用'map','flatMap'或'onComplete' /'onSuccess'后打印。你的问题有点困惑,因为你要的“而该请求被处理”,而是显示“这是被处理后,返回之前的值”的代码。 –