收藏
回答

云函数:errCode: -404011,Unexpected token '.'解决方式?!

## 1. 现象

  • 云函数本地调试正常,可以调用云存储;
  • 上传到云后,报:`Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail requestID b45e09c6-427b-4afc-a539-c82a8337b691, cloud function service error code -504002, error message Runtime.UserCodeSyntaxError: SyntaxError: Unexpected token '.'`错误,卡了快1天。

## 2. 环境及原因

  • macos: Monterey
  • 工具:Stable 1.06.2306020
  • 源码中使用了`?.`
const cloud = require('wx-server-sdk');
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
});


// 云函数入口函数
exports.main = async (event, context) => {
  let { obj } = event
  return obj?.a?.b
};
  • 怀疑是node版本的问题,本地是18,但应该是用开发工具提供的版本;云开发默认版本是`node12.16`;

## 3. 解决办法

  • 云开发控制台上,云函数,新建云函数,选择运行环境`node16.13`
  • 开发者工具上,同步云函数列表,显示在控制台上新建的云函数
  • 使用上面的源码,正常调用,通过!


最后一次编辑于  2023-07-26
回答关注问题邀请回答
收藏

2 个回答

  • HexIn
    HexIn
    2023-10-17

    谢谢大佬踩坑,把问号删了果然可以了。这踏马德是腾讯开发者工具的BUG,真难用,腾讯也不修一下。🌶🐧

    2023-10-17
    有用 1
    回复
  • 跨商通
    跨商通
    2023-07-26

    写成文章吧,给你点个赞。有用。

    一直对云函数里不能用可选链感到不解,原来是node的版本问题。

    2023-07-26
    有用 1
    回复
登录 后发表内容