云函数本地调用不会报错。但是一旦云调用会报错
发布于 5 年前 作者 jie84 9526 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

直接使用云函数,进行一个非常简单的数据库写入操作会执行失败。 一下是开发者工具中客户端调用云函数的日志。

日志里说数据库处理超过三秒,但是网络已经换了几个,还是会报错。云函数云端测试不会报错。

神奇的是,我进行云函数本地调试,函数会执行成功,云端数据库写入会成功执行。我尝试过云函数重新上传云端部署以及上传所有文件,上传完了都一样。

  • 预期表现
  • 复现路径
  • 提供一个最简复现 Demo

postFn云函数

exports.main = async(event, context) => {

let postId = event.postId;

db.collection(‘TPost’).doc(postId).update({

data: {

read: _.inc(1)

}

}).then(res => {console.log(res)}).catch(err => {console.log(err)});

}

小程序update函数

update: function(event){

wx.cloud.callFunction({

name: ‘postFn’,

data: {

postId: 1,

}

}).then(res => {console.log(res)}).catch(console.error)

}

1 回复

问题已经解决,这里问题还是出在我不太懂node.js的缘故吧。云函数必须得返回一个值,要不然会执行不成功!!但是坑爹的是,这个错误在本地调试的时候是发现不了的!!!希望遇到此类问题的开发者们注意。

回到顶部