我正在研究Alexa技能并使用Node.js编写我的lambda函数。我也使用 Alexa SDK 来处理Alexa的请求和响应。 我面临的问题是我无法访问“this pointer”作为回应。代码如下:
var handler = Alexa.CreateStateHandler();
handler['hi'] = function( ) {
console.log("hi intent");
request(url, function (error, response, body) {
const message = "Hello there. Best of luck!";
const reprompt = "Hello there.";
this.response.speak(message).listen(reprompt);
this.emit(':responseReady');
});
};
错误:未找到此响应
FYI:handler ['hi']是一个监听器,并从Alexa自动调用。我可以在请求块之外访问此指针。
我在SO上阅读了不同的答案,但他们都没有回答我的问题。请帮忙,我如何在内部回复中访问“此”。
答案 0 :(得分:0)
你的问题实际上是一个javascript问题。 js'this'与你习惯于c / c ++这样的语言有所不同,而你在这里遇到的问题 - 在回调中访问'this'是一个常见的js陷阱,所以它已经得到了很好的回答,例如。