关于在egg中带有事务的service之间的调用
发布于 6 年前 作者 M1178475702 3066 次浏览 来自 问答

最近刚刚试用了egg做了一个项目,但是在service中使用egg-sequelize的事务时遇到了一些问题 如果一个有事务的service调用了另一个有事务的service,如何才能优雅的传递事务?之前是再service中预留了事务这个参数, 但这样写代码真的是太丑了,有没有什么好的办法? 另外,关于controller与service与Dao之间的界限,一直不能很好的区别开 如:关于session的操作,是在controller中进行,还是service?service与controller都可以访问ctx,这让我在使用时分不清两者的界限 又如:controller对于service返回的结果,是否还需要校验?如果service中出现了参数不正确,如何才能让controller获知? 恳请各位看看在下的问题

3 回复

关于事务,曾经考虑过由controller统一管理事务,但想想还是不太合适

cls了解一下

@Shonke 关于cls,作用范围是在一次请求之内么?这个我还没有测试过,开始以为是只有在自动提交场景下才能使用 如果两个函数里默认都声明了事务,那一个函数调用另个函数,两个函数的事务回事同一个么?

回到顶部