云函数调用失败
在实现用云函数将页面信息存入数据库的时候,报错:云函数调用失败,于是反反复复的去查看云函数语法逻辑是否有错,但是发现并没有问题 。于是在网上找了很多资料,终于找到了解决办法
//直接上代码
//这是报错前的代码
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
const _ = db.command
// 云函数入口函数
exports.main = async (event, context) => {
return await db.collection('users').add({
data: {
username: event.username,
gender: event.gender,
phone: event.phone,
depart: event.depart
}
})
}
//这是成功后的代码
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database()
const _ = db.command
// 云函数入口函数
exports.main = async (event, context) => {
return await db.collection('users').add({
data: {
username: event.username,
gender: event.gender,
phone: event.phone,
depart: event.depart
}
})
}
可以发现,两者之间的差别在于cloud.init(),前后者都是初始化,但是后者加了 env: cloud.DYNAMIC_CURRENT_ENV,这样云函数内发起数据库请求、存储请求或调用其他云函数的时候,默认请求的云环境就是云函数当前所在的环境
了解更多请前往微信开发文档 init
就这样我的问题就解决了