我想通过查看其持有的值来检查未来f
是否已完成。那不是关于
f onComplete {
}
它是关于检查它当前保持的值而不阻塞。
你的想法?
答案 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