作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
{ -6ren">
我有一个旧的 AWS Lambda 函数,它被声明为同步(使用 Promises),声明如下所示:
exports.getSong = (event, context, callback) => { }
它按预期工作。最近,我决定使用 async/await 重写它,因此尝试声明
getSong
异步运行,如下所示:
exports.getSong = async (event, context) => { }
在尝试执行时,我完全收到以下错误:
{
"errorType": "Runtime.UserCodeSyntaxError",
"errorMessage": "SyntaxError: Unexpected token '.'",
"trace": [
"Runtime.UserCodeSyntaxError: SyntaxError: Unexpected token '.'",
" at _loadUserApp (/var/runtime/UserFunction.js:98:13)",
" at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)",
" at Object.<anonymous> (/var/runtime/index.js:43:30)",
" at Module._compile (internal/modules/cjs/loader.js:1133:30)",
" at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)",
" at Module.load (internal/modules/cjs/loader.js:977:32)",
" at Function.Module._load (internal/modules/cjs/loader.js:877:14)",
" at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)",
" at internal/main/run_main_module.js:18:47"
]
}
从这个错误消息中绝对不清楚问题是什么,但是通过谷歌搜索类似的问题并缩小范围,我发现问题出在函数声明上。
getSong
作为同步函数,然后在其中运行另一个异步函数,如下所示:
var anotherAsyncFunction = async () => { }
exports.getSong = (event, context, callback) => { anotherAsyncFunction() }
但是,我得到了同样的错误。很明显,它与 Lambda 中的异步函数声明有关。这里可能是什么问题?谢谢你。
最佳答案
我遇到了类似的问题。对我来说是res.Body?.toString('utf-8')
哪个 lambda 无法理解 Body?.
是什么我认为在您的情况下,您应该执行以下操作:
export const getSong = async (event, context) => { ...}
对于遇到同样问题的人来说,找出原因的最好方法是转到您的 lambda 代码页,它应该显示为红色
X
在代码行
关于javascript - "Runtime.UserCodeSyntaxError"尝试声明异步 AWS Lambda 函数时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63263172/
我目前正在 nodejs 中创建一个 Dialogflow 聊天机器人,并在部署我的代码时收到一条错误消息。我试图取消注释大多数事情,只留下基本功能代码,但我仍然无法让它工作。我不确定这里的问题是什么
我有一个旧的 AWS Lambda 函数,它被声明为同步(使用 Promises),声明如下所示: exports.getSong = (event, context, callback) => {
我是一名优秀的程序员,十分优秀!