【发布时间】:2019-11-23 12:55:56
【问题描述】:
我一直在学习 Codecademy 的 alexa 技能课程,但 lambda 函数的语法突然发生了变化。以下两个 lambda 函数有什么区别,我应该使用哪个?
我在 Codecademy 论坛上询问过,但没有任何回应。
// First way
const LaunchRequestHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'LaunchRequest';
},
handle(handlerInput) {
return handlerInput.responseBuilder
.speak("Hello, Welcome to Codecademy. What is your name?")
.reprompt("Welcome. What is your name?")
.getResponse();
},
};
...
exports.handler = skillBuilder
.addRequestHandlers(
LaunchRequestHandler,
...
)
.lambda();
// Second way
var handlers = {
'LaunchRequest': function() {
this.response
.speak("Hello, Welcome to Codecademy. What is your name?")
.listen("Welcome. What is your name?");
this.emit(':responseReady');
},
...
}
...
exports.handler = function(event, context, callback){
var alexa = Alexa.handler(event, context);
alexa.registerHandlers(handlers);
alexa.execute();
};
两种变体都能正常运行,但我看到的代码大多是用第一种方式编写的,而课程是第二种格式。
【问题讨论】:
-
you 的 lambda 函数是什么意思?
-
您在 amazon aws 中创建 lambda 函数时出现的代码编辑器中编写的代码。 Alexa技能的后端。我糊涂了吗?
-
啊。你的意思是aws。我以为你指的是 JavaScript 语言意义上的 lambda。
-
改了标题
标签: javascript aws-lambda alexa alexa-skills-kit alexa-skill