我似乎对如何将事务插件(使用 postgresql)与节点 orm2 一起使用有问题。我想我误解了事务如何与异步函数调用一起工作。这是我的代码示例:
function(row){
db.transaction(function(err, txn){
if(err){ return console.log(err) };
row.property = 'foo';
row.save(function(err){
if(err){ return console.log(err) };
console.log("saved");
});
txn.commit(function(err){
if(err){ return console.log(err) };
console.log("committed");
});
});
当我运行这段代码时,偶尔我会看到 console.log 输出:
"committed"
"saved"
这与我预期的相反。而且我对行所做的更改不会保存到数据库中。看起来这里的异步函数调用存在一些问题,但我只是按照节点 orm2 事务插件中的文档进行操作。
有人知道我做错了什么吗?谢谢!