端侧:
addInfoOk() {
wx.cloud.callFunction({
name: 'addUser',// 云函数名
data: {
name: this.userName,
phone: this.userPhone
},
success: res => {
console.log('添加成功', res.result);
},
fail: err => {
console.error('添加失败', err);
}
});
},
云函数:
// 云函数入口文件
const cloud = require('wx-server-sdk')
const db = cloud.database()
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境
// 云函数入口函数
exports.main = async (event, context) => {
const userName = event.name
const userPhone = event.phone
// 在云函数内调用云数据库。 t_user 是云数据库的集合名称,用户存储用户信息的
const addResult = await db.collection('t_user').add({
userName: userName,
userPhone: userPhone
})
return addResult
}
端侧小程序,调用云函数就报错了 : Error: cloud.callFunction:fail Error: errCode: -504002 functions execute fail | errMsg: 145 code exit unexpected
各位,我找到原因了。两个原因:
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 先初始化。 const db = cloud.database() // 再 执行之一步
2.必须更新结束后,再执行云函数的调用。
我更新云函数代码后,右击该云函数,选择 “上传并部署 云端安装依赖(不上传xxxx)”后,大概2秒后,编辑器会反馈 “更新云函数 xxxx 的云调用权限”,我以为是部署完毕。就开始执行云函数了,实际上不是的,必须要等到10多秒后,再次反馈一个信息 “上传云函数 xxxx” 才能执行云函数的调用。
再也不用大家在问题下回复:
哥们,解决了吗?
我也是,同问....
一样的问题,有解决方法没......
希望大家给我这个问题点赞,送上热搜,送上前排。方便大家~
插入数据的代码错了。
const addResult = await db.collection('t_user').add({ data: { userName: userName, userPhone: userPhone } })
你所说的这个问题,确实是另外一个问题,该问题不会导致报错,你指出的这个问题,只会让数据无法插入。
不过,还是非常谢谢你。
创建完云函数 是否 右键选择 创建并部署:云端安装依赖(不上传node_modules) 查看一下