【发布时间】:2014-01-01 08:15:14
【问题描述】:
我似乎对如何将事务插件(使用 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 事务插件中的文档进行操作。
有人知道我做错了什么吗?谢谢!
【问题讨论】:
标签: node.js postgresql transactions node-orm2