我正在尝试向用户提问,并使用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
数据点后结束。
任何帮助?
答案 0 :(得分:0)
我不确定我是否理解
alexa.emit('oneShotSecond');
但我会像下面那样做到
oneShotSecond(this);
然后
'oneShotSecond': function(self) { // use self.emit}