我想知道编码中是否有任何部分我做错了。我正在尝试做一系列的功能和检查,如果有一些条件不满足,我想回滚事务。
抛出新错误后,我的事务仍然被提交。
这是我的示例编码。
//db.js
import Sequelize from 'sequelize';
import Cls from 'continuation-local-storage';
Sequelize.cls = Cls.createNamespace('db');
const Conn = new Sequelize(
'relay',
'postgres',
'tec832',
{
dialect: 'postgres',
host: 'localhost'
}
);
module.exports.Db = Conn;
在 schema.js 我有
Db.transaction({autocommit: false}).then(()=>{
args = {vcTitle: {$ilike: `Sample title by Nick`}};
return testDelPostPromiseNoTran(args).then(obResult => {
throw new Error("Wrong account type");
})
});
function testDelPostPromiseNoTran(args){
return new Promise((resolve, reject) => {
resolve(delDataNoTran('Post', args));
});
}
//I am trying to do a standard delete
function delDataNoTran(vcTbName, args){
return Db.models[vcTbName].destroy({where: args})
.then(result =>{
if(result > 0){
return true;
}else{
return false;
}
})
.error(obStatus =>{
return false;
});
}