光滑的未来返回空
Slick Future Returning Empty
我是 运行 一个灵活的查询,并使用此辅助方法成功获得结果:
def exec[T](action: DBIO[T]): T = Await.result(db.run(action), 2.seconds)
我正在尝试实现非阻塞期货,per the Slick docs:
def execFuture[T](program: DBIO[T]) = db.run(program)
val futureTest = execFuture ( maxInStockVal.result ).onComplete {
case Success(x) => x
case Failure(e) => e
}
Logger.debug(futureTest.toString)
我得到的结果是空的。我错过了什么?
如果你想打印结果,你应该把打印结果放在 onComplete
里面,就像文档说的那样:
f.onSuccess { case s => println(s"Result: $s") }
在那个函数之外你无法访问结果,因为里面的代码后来异步运行,你应该使用 maps
、reduces
和其他东西来处理结果,并且始终使用 Futures.
我是 运行 一个灵活的查询,并使用此辅助方法成功获得结果:
def exec[T](action: DBIO[T]): T = Await.result(db.run(action), 2.seconds)
我正在尝试实现非阻塞期货,per the Slick docs:
def execFuture[T](program: DBIO[T]) = db.run(program)
val futureTest = execFuture ( maxInStockVal.result ).onComplete {
case Success(x) => x
case Failure(e) => e
}
Logger.debug(futureTest.toString)
我得到的结果是空的。我错过了什么?
如果你想打印结果,你应该把打印结果放在 onComplete
里面,就像文档说的那样:
f.onSuccess { case s => println(s"Result: $s") }
在那个函数之外你无法访问结果,因为里面的代码后来异步运行,你应该使用 maps
、reduces
和其他东西来处理结果,并且始终使用 Futures.