我需要将两个Future [List]合并为一个,我想出了以下解决方案:
def mergeFutureLists[X]( fl1: Future[List[X]],fl2: Future[List[X]] ): Future[List[X]] = { val lf = List( fl1,fl2 ) val fll = Future.sequence( lf ) return fll.map{ x => x.flatMap{ el => el } } }
它做我想要的,但它是正确的方式进行?
解决方法
您可以等待结果,然后将它们组合到一个列表中:
def mergeFutureLists[X]( fl1: Future[List[X]],fl2: Future[List[X]] ) = { for{ f1Res <- fl1 f2Res <- fl2 } yield (f1Res ::: f2Res) }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。