是一种返回Future [Unit]的方法吗?

Tee*_*Kai 4 scala

我有一个方法最初返回单位.将返回类型更改为Future [Unit]后,我找不到更改方法体的方法.最少的一行是方法调用.

小智 20

在Scala 2.12中,内置 Future.unit是可行的方法.它具有缓存的好处.


Sle*_*idi 7

您可以返回一个Future包含值的Unit

def doSomething():Future[Unit] = {
  TimeUnit.SECONDS.sleep(3)
  println("hi")
  Future.successful(())
}
Run Code Online (Sandbox Code Playgroud)

  • `Unit` 伴随对象与 `()` 不同,并且没有 `Unit` 类型——你的第一个示例仅适用于 Scala 的值丢弃。 (3认同)