说我们有:

val listOfYetToBeMaybePeople = List[Future[Option[Person]]]

如果所有元素都具有Future[Boolean]true(如果至少一个是Some(Person)),是否有一种非阻塞的方式来获取falseNone

最佳答案

试试这个:

val listOfYetToBeMaybePeople: List[Future[Option[Person]]] =
val allExist: Future[Boolean] =
  Future.sequence(listOfYetToBeMaybePeople).map(_.forall(_.nonEmpty))

说明:
  • sequenceListFuture转换为列表
  • 的 future
  • forall检查列表
  • 中所有元素的谓词
  • nonEmpty检查Option是否实际上是Some

  • 如果所有人都存在,则返回带有true的future。

    关于scala - 如何检查Future列表中是否不存在[Option],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48891122/

    10-14 13:33
    查看更多