解决方法
- 使用try catch捕获异常
- 使用await等待操作数据库函数返回再return(重要)
- 将操作数据库函数结果加入响应中,方便前端调试
其他:
- 检查数据库权限
- 设置超时时间
- 涉及时间的要设置时区
规范示例
// 云函数入口函数
exports.main = async (event, context) => {
try {
const wxContext = cloud.getWXContext()
// 使用await确保数据库操作完成
const result = await db.collection('user')
.where({
openid: wxContext.OPENID,
})
.update({
data: {
...event
}
});
return {
openid: wxContext.OPENID,
updateResult: result
}
} catch (err) {
return { error: err.message }
}
}