收藏
回答

云函数调用startTransaction()启用数据库事务,部署后调用失败的原因?

云函数调用startTransaction()引用数据库事务,安装"wx-server-sdk": "^1.7.0,云函数本地调试可以成功调用。

但上传并部署(所有文件)调用则报错,请问什么原因?

{"errorCode":1,"errorMessage":"user code exception caught","stackTrace":"transaction is not defined\nReferenceError: transaction is not defined\n at EventHandler.exports.main [as realHandler] (/var/user/index.js:92:5)\n at \u003canonymous\u003e\n at process._tickCallback (internal/process/next_tick.js:188:7)"}

回答关注问题邀请回答
收藏

4 个回答

  • 天意
    天意
    2022-06-06

    "[ResourceUnavailable.TransactionNotE"[ResourceUnavailable.TransactionNotExist] Transaction does not exist on the server, transaction must be commit or abort in 30 seconds. Please check your request, but if the problem persists, contact us."xist] Transaction does not exist on the server, transaction must be commit or abort in 30 seconds. Please check your request, but if the problem persists, contact us."

    2022-06-06
    有用
    回复
  • 雨过天晴
    雨过天晴
    2020-03-17
    在db里加入throwOnNotFound: false
    get没有数据时,就不会报错。
    
    2020-03-17
    有用
    回复
  • 见相非相
    见相非相
    2019-12-27

    我的也报了,但是在另外一个纯云函数里没有。报错的这个云函数是里面包含了很多请求,根据参数来switch到不同的方法里,你的也是这样写的吗?云函数自身的返回结果log和你的一样,但是我catch到的错误如下

    { code: 'SIGN_PARAM_INVALID',

    message: 'envname field not exsit in url' }

    ReferenceError: transaction is not defined


    2019-12-27
    有用
    回复 5
    • 见相非相
      见相非相
      2019-12-27
      我找到原因了,是环境初始化的时候,指定一下环境名称就行了。这个环境变量也太不稳定了吧,别的都可以,这个要指定一下。半年多之前也是非常不稳定,难道是昨天服务器全部挂掉导致公众号挂掉然后云开发也受到了影响?
      2019-12-27
      回复
    • Frank坤
      Frank坤
      2019-12-27
      受你的启发,验证了一下,cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV})对于事务就无效,指定了具体的环境ID cloud.init({env: 'xxxxxx-s1oaq'})就可以了,应该是一个BUG。
      “transaction is not defined”这个错误是官方demo有问题,const transaction = await db.startTransaction() 放在try的里面,catch里面肯定找不到
      2019-12-27
      回复
    • 见相非相
      见相非相
      2019-12-27回复Frank坤
      有点奇怪,我另外一个云函数的事务指定动态环境是可以的,这个云函数就不行,说到底还是腾讯云不稳定...哈哈哈
      2019-12-27
      回复
    • 邓坤力
      邓坤力
      2020-01-16回复Frank坤
      感谢反馈,这个在最新 wx-server-sdk 已修复
      2020-01-16
      回复
    • 宽容之心
      宽容之心
      2020-03-13
      我今天又发现startTransaction()的问题了,在做本地调试时,没有任何问题,但是布署完成,虽然没有报错,但总不能出现正确的结果 !真真急煞人!毫无办法!
      2020-03-13
      回复
  • 老张
    老张
    2019-12-26

    这就开始用了。哥们你是先驱啊,应该你来帮别人答疑的。

    2019-12-26
    有用
    回复 2
    • Frank坤
      Frank坤
      2019-12-26
      正好需要解决事务问题,官方就出来了,看来我要再等等了( ^_^ )
      2019-12-26
      回复
    • 老张
      老张
      2019-12-27回复Frank坤
      用吧用吧,踩坑填坑,大家都这样。
      2019-12-27
      回复
登录 后发表内容
问题标签