检查未来的价值

时间:2013-11-26 14:33:56

标签: scala future

我想通过查看其持有的值来检查未来f是否已完成。那不是关于

f onComplete {

}

它是关于检查它当前保持的值而不阻塞。

你的想法?

3 个答案:

答案 0 :(得分:9)

f.value match {
  case Some(Success(x)) => println(s"the future is completed successfully with value $x")
  case Some(Failure(e)) => println(s"the future failed with an error: $e")
  case None => println("the future has not yet completed")
}

答案 1 :(得分:2)

如果未完成未来,则可以使用value。如果是,某些人将包含该值。

答案 2 :(得分:1)

你总是可以调用f.isCompleted

如果结果可用,则返回true。

http://www.scala-lang.org/api/current/index.html#scala.concurrent.Future