合并两个Scala Future [列表]

我需要将两个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)
}

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...