Alexa:Emit不工作链接功能

时间:2017-08-22 06:00:46

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

我正在尝试向用户提问,并使用noIntent'use strict'; var Alexa = require("alexa-sdk"); var https = require('https'); var alexa; exports.handler = function(event, context, callback) { alexa = Alexa.handler(event, context); alexa.registerHandlers(handlers); alexa.execute(); }; var handlers = { 'LaunchRequest': function() { alexa.emit(':ask', 'my text'); }, 'oneShotIntent': function() { var self = this; // removed the code for simplicity self.attributes['yes_no'] = true; alexa.emit(':ask', 'sample yes no question'); }) }, 'AMAZON.YesIntent': function () { if (this.attributes['yes_no']) { delete this.attributes['yes_no']; alexa.emit('oneShotSecond'); } }, 'oneShotSecond': function() { delete this.attributes['yes_no']; // already deleted // removed code for simplicity var self = this; // removed code for simplicity console.log(info); if (info) { console.log('here in if condition'); self.emit(':tell', 'sample text'); } else { self.emit(':tell', 'sorry failed'); } }); } }; 来捕获回复。如果我得到响应,我正在调用其他函数,它应该向用户发回一些东西。但没有调用发射。代码如下:

console.log

第一次发射是有效的。其他功能中的console.log正在发生。但是排放失败了。

云观察中也没有日志。它只是在打印sum数据点后结束。

任何帮助?

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解

alexa.emit('oneShotSecond');

但我会像下面那样做到

oneShotSecond(this);

然后

'oneShotSecond': function(self) { // use self.emit}