Slick的DBIO.seq方法是否按顺序运行操作?

时间:2017-12-21 08:29:54

标签: scala slick slick-3.0 slick-2.0

Slick有DBIO.seqDBIO.sequence用于运行许多DBIOAction s,后续操作不需要先前操作的结果。

我查看了源码,如果DBIO.seq按顺序运行操作,对我来说并不明显。另一方面,DBIO.fold有一个非常简单的实现,它肯定会按顺序运行动作,因为它只是在内部使用flatMap

我的问题是:使用seqsequence时是否会保证订单,就像fold一样?

1 个答案:

答案 0 :(得分:2)

documentation表示DBIO.seq中的操作是按顺序执行的:

  

最简单的组合器是DBIO.seq,它带有一个varargs列表   按顺序运行的动作

此外,在DBIO.seq的{​​{3}}中,您会看到SynchronousDatabaseAction内部foreach被调用,这意味着每个都是基本上和(内部)同步调用任何平行运行。