如何在Node JS中实现回滚概念-序列化事务-Express JS

时间:2019-02-23 09:55:55

标签: node.js express transactions sequelize.js

我正在尝试在节点js中实现回滚概念。我正在使用Sequelize ORM。

我的查询是:我尝试将用户详细信息存储在MySQL DB中。有4个用于用户创建过程的表。

例如,我正在尝试创建一个新用户。我输入了有关用户的一些详细信息,然后单击提交按钮。在后端过程中,用户详细信息被一张一张地存储到表中。如果第三个表出错,则应从表中删除先前的表数据。

我引用了此链接:Sequelize Transaction

return sequelize.transaction(function (t) {

// chain all your queries here. make sure you return them.
return User.create({
  firstName: 'Abraham',
  lastName: 'Lincoln'
}, {transaction: t}).then(function (user) {
  return user.setShooter({
    firstName: 'John',
    lastName: 'Boothe'
  }, {transaction: t});
});

}).then(function (result) {
// Transaction has been committed
// result is whatever the result of the promise chain returned to the 
  transaction callback
  }).catch(function (err) {
// Transaction has been rolled back
// err is whatever rejected the promise chain returned to the 
  transaction callback
  });

但是,它仅显示错误。我不知道如何使用我的快速JS实现此功能。

0 个答案:

没有答案