当前位置: 首页 > 知识库问答 >
问题:

Alexa Node JS如何处理多个事件的取消事件

贲言
2023-03-14

我有多个自定义技能意图。我想处理取消所有自定义意图的事件。我怎么能得到取消被调用。

const Alexa = require('alexa-sdk');
exports.handler = (event, context) => {
  const alexa = Alexa.handler(event, context);
  var APP_ID = "amzn1.ask.skill.[ssdad-5c61-4d4e-b2bf-7eea8a491816]";
  alexa.APP_ID = APP_ID;
  alexa.registerHandlers(handlers);
  alexa.execute();
};
const handlers = {
  'ConfirmChangeEvent': function() {
    this.emit(':ask', "Do u want commit for change? ");
  },
  'ConfirmLastAction': function() {
    this.emit(':ask', "Do u want confirm for last Action?");
  },

  'LaunchRequest': function() {
    this.emit(':tell', "Hi Damodar, I'm Dialogue manager");
  },
  'Amazon.CancelIntent' : function() {
    // i want handle cancel on both intents here  ConfirmLastAction and Conf irmChangeEvent

    //if ConfirmChangeEvent  should give output like "Okay cancelling changeEvent "

    // ConfirmChangeEvent  should give output like "Okay cancelling the Last Action " 

  }

  'Unhandled': function() {
    this.emit(':tell', "I'm not able to respond at this time");
  }
};

我们如何在node JS Alexa中处理这个问题

共有1个答案

公孙鸿才
2023-03-14

你需要使用状态管理。这里是文档的链接https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs#making-技能状态管理更简单

通过使用状态处理程序,您可以根据用户的当前状态获得不同的取消响应。

 类似资料:
  • 我在视图布局中使用了三个EditText小部件,用于三个不同的过滤器。如果我输入其中一条,另一条文本不应该是空白的吗? 下面是我的片段: GenericTextWatcher方法: 当我运行这个程序并输入EditText时,logcat看起来是这样的: 03-03 15:25:39.616 25952-25952/com.xyz.abcI/art:显式并发标记扫描GC释放23671(1194KB)

  • 主要内容:1. 多文件,2. 多缓冲区,3.多个标签,4. 多个窗口Vim是非常强大的编辑器。它支持许多高级功能,可以处理多个文件,缓冲区和窗口。 在本节中,将讨论以下主题内容 - 多文件 多缓冲区 多标签 多窗口 1. 多文件 假设正在编辑文件,并且想要在同一个Vim会话中打开另一个文件。在这种情况下,可以使用Vim的编辑命令。 下表显示了这些命令 - 编号 命令 描述 1 在缓冲区中加载新文件以进行编辑 2 与功能相同 3 列出要从当前目录编辑的文件 4 与功

  • 使用on()方法绑定事件后,若希望取消绑定,则可以使用off()方法。off()方法根据传入参数的不同,有不同的实现逻辑。 version added: 2.0.0 .off( event , selector , handler ) event Type: String 需取消绑定的事件名称,例如:'tap' selector Type: String 选择器 handler Type: Fun

  • 我们需要在constructor中对于事件与对应的handler函数进行绑定. 大多数时候我们在发出DOM事件的组件内部写我们的handler函数. 在下面的例子中,我们在组件内部创建了一个click handler, 因为我们想所有的Swithcer Component当被点击时,做出同样的响应. class Switcher extends React.Component { render

  • 我不喜欢流口水。我正在尝试使用Drools Fusion编写一个简单的复杂事件处理(CEP)应用程序。 我的要求是 我有一个简单的Event类,如下所示: 规则文件如下: 为了进行测试,我将向工作内存中注入4个事件,分别是e1、e2、e3、e4,时间线分别为0m、4m、10m、12m。 Jave类文件 我希望e1通过规则,因为它没有前面的事件。我还预计e3将通过,因为前面的比赛还有6分钟。 但是,

  • 事件处理概述 事件处理是对象化编程的一个很重要的环节,没有了事件处理,程序就会变得很死,缺乏灵活性。事件处理的过程可以这样表示:发生事件 - 启动事件处理程序 - 事件处理程序作出反应。其中,要使事件处理程序能够启动,必须先告诉对象,如果发生了什么事情,要启动什么处理程序,否则这个流程就不能进行下去。事件的处理程序可以是任意 JavaScript 语句,但是我们一般用特定的自定义函数(functi