如何在 Scala 中使用 Phantom-dsl 从 Apache Cassandra 同步检索数据?



我正在使用Scala_2.11.7,Apache Cassasndra_3.9和Phantom-dsl_2.6.1。 当我使用phantom从Cassandra检索数据时,phantom总是在将来返回数据。但我想要同步的结果。有没有办法使用幻影从卡桑德拉同步检索数据?

如果您希望执行是同步的,则必须阻止调用线程并等待将来完成。这是(正如scala lang doc所说("强烈不鼓励",因为性能严重受损。

如果你有一个返回 Future[T] 的函数,你可以使用 Await.result,例如:

import scala.concurrent._
import scala.concurrent.duration._
val fresult : Future[Int] = getRecord()
val result: Int = Await.result(fresult, 5 seconds) 

最新更新