我是 Scala 的新手,想知道我们如何转换Future[Option[A]]为Future[A]
由于 anOption[A]可能是None,如果要将其转换为 an A,最直接的方法是使用该.getOrElse(value)方法,A如果选项本身没有,则需要提供 type 的默认值以使用。
val opt1 = Some(3)
opt1.getOrElse(5) //returns 3
val opt2 = None
opt2.getOrElse(5) //returns 5
Run Code Online (Sandbox Code Playgroud)
然后,如果你有一个Future[Option[A]],你想.map在未来的方法中做到这一点:
val futureOpt: Future[Option[Int]] = Future{ Some(3) }
val future: Future[Int] = futureOpt.map{opt => opt.getOrElse(5)}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |