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

Sum*_*eet 2 functional-programming scala scala-cats monix

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

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

kos*_*sii 6

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

val res: List[Task[List[Header]]] = ...
Task.sequence(res).map(_.flatten)
Run Code Online (Sandbox Code Playgroud)

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