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

问题描述 投票:0回答:1

Slick有DBIO.seqDBIO.sequence用于运行许多DBIOActions,其中后续操作的结果不需要后续操作。

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

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

scala slick slick-3.0 slick-2.0
1个回答
2
投票

documentation表示DBIO.seq中的行为按顺序执行:

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

另外,在source codeDBIO.seq中,你会看到SynchronousDatabaseActionforeach中被调用,这意味着每个都是在没有任何并行运行的情况下进行基本上和(内部)同步调用。

© www.soinside.com 2019 - 2024. All rights reserved.