launchRequest的alexa处理程序语法

时间:2017-12-25 13:51:41

标签: node.js alexa alexa-skills-kit

我看到了这个示例代码并且不理解语法:

const newSessionHandler = {
    LaunchRequest() {
        this.handler.state = "ASKMODE";
        this.emit(":ask", "Welcome to Custom Alexa skill, are you ready to begin?");
    }
};

此处LaunchRequest不是函数调用,它不是函数定义,因为没有关键字function。那是什么?

我理解以下LaunchRequest是关键字的格式:

const newSessionHandler = {
    LaunchRequest: function() {
        this.handler.state = "ASKMODE";
        this.emit(":ask", "Welcome to Custom Alexa skill, are you ready to begin?");
    }
};

另一个问题:LaunchRequestNewSession,未处理nodejs alexa-sdk中的所有内置事件?是否有关于alexa-sdk中所有内置事件的文档?

1 个答案:

答案 0 :(得分:2)

欢迎使用ES 6,在Objects中声明函数的新方法。

隐含地在那里添加功能关键字。

详细了解ES6功能声明,特别是使用明确的“功能”和() => {}之间的区别,您将遇到“”的问题关键词。

在新形式的函数声明()=> {} 中,这将引用其父作用域而不是调用函数。