scala - 将列表[任务[列表[A]]]转换为任务[列表[A]]

标签 scala functional-programming scala-cats monix

如何在 scala 中将 List[Task[List[Header]]] 类型转换为 Task[List[Header]]

我有一个方法返回 Task[List[Header]] 并多次调用 dor 它变成 List[Task[List[Header]]]

最佳答案

您可以使用 Task.sequence ,然后将 flatten 映射到列表的结果列表上,例如:

val res: List[Task[List[Header]]] = ...
Task.sequence(res).map(_.flatten)

如果您需要对结果进行并行执行,您可以查看 Task.gather

关于scala - 将列表[任务[列表[A]]]转换为任务[列表[A]],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59409533/

相关文章:

scala - 如何为scala子类型实现流畅的接口(interface)?

scala - 如何让 Play 2.0 框架忽略路由

scala - Hive UDF 在 Scala 中处理整数数组

Java 8过滤器考虑流的多个项目

r - 将 fun arg/省略号中的所有内容折叠成字符串

clojure - 基于 Clojure 类型的比较

scala - 折叠 Spark 数据帧

scala - 玩! 2 斯卡拉 : Adding an error to a form in the controller code proper

scala - 如何从 Async[IO] 创建 Async[Future]

scala - 当状态满足某些条件时如何停止状态转换?