我正在编写一个lambda函数来处理alexa技能请求。在“ BuildingLookUpIntent”内部,在https.get()之后,未添加任何响应。
'BuildingLookUpIntent': function(){
var response = "";
https.get('https://*******.execute-api.us-east-1.amazonaws.com/active/building?*******', (res) => {
res.on('data', (d) => {
response += d;
});
});
var speechOutput = response;
this.response.speak(speechOutput);
this.emit(':responseReady');
}
Alexa返回一个空字符串。
答案 0 :(得分:0)
Alexa对于您的情况一言不发。这是因为 `
var speechOutput = response;
this.response.speak(speechOutput);
this.emit(':responseReady');
` 甚至在您的代码将开始处理收到的响应之前执行。 解决此问题的一种方法是将上述代码移入内部 “ res.on ”,这样当您返回响应字符串时,它将被分配给 “ speechOutput ”和Alexa可以说出来。