gpt4 book ai didi

scala - 使用自定义 ExecutionContext 执行 Future.sequence

转载 作者:行者123 更新时间:2023-12-04 13:16:29 26 4
gpt4 key购买 nike

我正在尝试创建一个 Future[List[Int]]来自 List[Future[Int]]使用指定的 ExecutionContext .但是,我收到了关于 CanBuildFrom 类型的第二个隐式参数 cbf 的错误。 .我不完全理解 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需要一个 CanBuildFromFuture 内建立集合它返回。标准库中的许多其他方法需要 CanBuildFrom ,例如大多数 map集合 API 中的方法。
Future.sequence的隐式参数列表由两个参数组成,并且在任何调用中都必须存在。要显式指定一个而隐式指定另一个,请使用 implicitly .例如:

val zz: Future[List[Int]] = Future.sequence(my)(implicitly, ec)

关于scala - 使用自定义 ExecutionContext 执行 Future.sequence,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23796942/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com