【发布时间】:2017-12-20 06:51:23
【问题描述】:
我想使用 Node 6.10 在 AWS Lambda 中使用 ES6 类语法,但我无法让它工作:
class widget {
constructor(event, context, callback) {
callback(null, `all seems well!`);
}
}
// module.exports.handler = widget; // "Process exited before completing request"
module.exports.handler = new widget(); // "callback is not a function"
有没有人成功使用类语法?类构造函数显然不被视为处理函数。
【问题讨论】:
-
在您的示例中,
callback不是函数。回调是第三个参数,您根本没有传递任何参数。这并不是说widget不是一个函数。你的 ES6 运行良好。 -
你没有将任何参数传递给
new widget(),所以它当然会失败。 -
语法一般为
exports.myHandler = function(event, context, callback) { -
好吧,不,你给它一个
widget的实例? -
当您执行
new widget()时,您实际上调用了没有参数的函数,因此callback不是函数,也不是任何其他参数。module.exports.handler必须是 AWS 可以使用正确参数调用的函数的引用。
标签: javascript node.js amazon-web-services ecmascript-6 aws-lambda