如何将Future[Option[A]]转换为Future[A]

我是 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

然后,如果你有一个Future[Option[A]],你想.map在未来的方法中做到这一点:

val futureOpt: Future[Option[Int]] = Future{ Some(3) }
val future: Future[Int] = futureOpt.map{opt => opt.getOrElse(5)}


以上是如何将Future[Option[A]]转换为Future[A]的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>