gpt4 book ai didi

mysql - 检查 Sequelize 交易的状态?

转载 作者:行者123 更新时间:2023-11-29 17:01:06 25 4
gpt4 key购买 nike

如何检查事务是否正在执行、已提交或已回滚?

返回sequelize.transaction(function (t) {
//返回语句
}).then(函数 (res_) {
t.commit()
}).catch( 函数(错误){
t.rollback();
});
//这里我想查看交易状态
if(t.status != '已提交') {
//事务未提交
}
}

最佳答案

你已经很接近了,但你必须以不同的方式构建你的代码。您正在 Sequelize 中使用自动交易。当回调函数完全完成时,它将自动为您提交事务。同样,当任何时候抛出错误时,交易将自动取消。您可以使用如下方式检查事务是否已提交:

return sequelize
.transaction(function (t) {
// Run some queries, do some stuff...
})
.then(function () {
// `t` is not defined, but we know it is committed here
})
.catch(function (error) {
// `t` is not defined, but we know it has been rolled back
});

如果您想依赖正在提交的事务,则必须将逻辑嵌套在 then 调用中。

关于mysql - 检查 Sequelize 交易的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52257241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com