假设我有一个Doobie程序列表(所有程序都带有Unit类型参数,fwiw):
val progList: List[ConnectionIO[Unit]] = prog1 :: prog2 :: ... :: Nil有没有办法在一个事务中运行它们?for- composition在这里是行不通的,因为我只知道运行时程序列表的确切组成。从本质上讲,我想我需要把它们叠在一起。
我想这个问题一般适用于Cats中的Free Monad,所以我也将标记Cats。谢谢。
发布于 2018-07-30 00:18:56
你可以用猫的.sequence做到这一点:
import doobie.implicits._
import cats.implicits._
...
val res = progList.sequence // ConnectionIO[List[Unit]]https://stackoverflow.com/questions/51580929
复制相似问题