首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node Orm2事务插件

Node Orm2事务插件
EN

Stack Overflow用户
提问于 2014-01-01 16:15:14
回答 1查看 344关注 0票数 2

我似乎在如何将事务插件(与postgresql)与node orm2一起使用时遇到了问题。我想我误解了异步函数调用是如何处理事务的。下面是我的代码示例:

代码语言:javascript
复制
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输出以下内容:

代码语言:javascript
复制
"committed"
"saved"

这和我预期的顺序相反。并且我对row所做的更改不会保存到数据库中。看起来这里的异步函数调用有一些问题,但我只是按照node orm2 transaction插件中的文档操作。

有人知道我做错了什么吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-01-13 16:49:25

这应该是可行的。

代码语言:javascript
复制
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");
    });
  });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20866789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档