微信小程序云开发 本地调试正常,线上异常的解决方法

170 阅读1分钟

解决方法

  1. 使用try catch捕获异常
  2. 使用await等待操作数据库函数返回再return(重要)
  3. 将操作数据库函数结果加入响应中,方便前端调试

其他:

  1. 检查数据库权限
  2. 设置超时时间
  3. 涉及时间的要设置时区

规范示例

// 云函数入口函数
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 }
  }
}