我正在尝试创建一个Future[List[Int]]
from a List[Future[Int]]
使用指定的ExecutionContext
。但是,我收到有关类型为 cbf 的第二个隐式参数的错误CanBuildFrom
。我不完全理解其目的CanBuildFrom
参数,当我尝试忽略它时,我收到如下错误:
- not enough arguments for method sequence: (implicit cbf: scala.collection.generic.CanBuildFrom[List[scala.concurrent.Future[Int]],Int,List[Int]]
有人可以解释一下并提出解决方案吗?这是我当前的测试代码,它遇到了上述编译错误:
val my: List[Future[Int]] = Future.successful(1) :: Future.successful(2) :: Future.successful(3) :: Nil
val zz: Future[List[Int]] = Future.sequence(my)(ec)
Future.sequence
需要一个CanBuildFrom
在里面建立集合Future
它返回。标准库中的许多其他方法都需要CanBuildFrom
,例如大多数map
集合 API 中的方法。
Future.sequence
的隐式参数列表由两个参数组成,并且两个参数都必须出现在任何调用中。要显式指定一个并隐式指定另一个,请使用implicitly
。例如:
val zz: Future[List[Int]] = Future.sequence(my)(implicitly, ec)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)