Las*_*asf 1 scala scala-cats doobie
假设我有一个Doobie程序列表(全部带有Unit类型参数,fwiw):
val progList: List[ConnectionIO[Unit]] = prog1 :: prog2 :: ... :: Nil
Run Code Online (Sandbox Code Playgroud)
我有什么办法可以在一个事务中运行它们?理解在这里行不通,因为我只知道运行时程序列表的确切组成。基本上,我想我应该将它们折叠在一起。
我想这个问题通常适用于Cats中的Free Monad,因此我也将Cats标记为。谢谢。
您可以使用.sequencecats 来做到这一点:
import doobie.implicits._
import cats.implicits._
...
val res = progList.sequence // ConnectionIO[List[Unit]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
384 次 |
| 最近记录: |