Alexa 스킬을 연구하고 Node.js를 사용하여 람다 함수를 작성하고 있습니다. 또한 Alexa의 요청과 응답을 처리하기 위해 Alexa SDK을 사용하고 있습니다. 내가 직면 한 문제는 "this pointer"에 액세스 할 수 없다는 것입니다.http 요청의 응답에서 'this'에 액세스 중 | Node.js
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');
});
};
오류 : this.response는 참고
를 찾을 수 없습니다 코드가 같다 핸들러 [ '안녕하세요']는 리스너과 알렉사에서 자동으로 호출됩니다. 요청 블록 밖에서이 포인터에 액세스 할 수 있습니다.
다른 답변을 읽었으나 아무도 내 질문에 답변하지 않았습니다. 제발, 어떻게 내가이 "내부"응답에 액세스 할 수 있습니다.
[?은 "이"키워드의 작동 방식을 않습니다 (http://stackoverflow.com/questions/3127429/how-does-the-this-keyword-work) –
는 왜의 가능한 중복 당신은'response'가 당신의 범위에서 일반 변수 일 때'this.response' (속성 접근)을 사용하고 있습니까? 그러나 예,'재언정'과'이 .emit'이 있어야 할 것이 명확하지 않습니다. – Bergi
@Bergi, this (this.emit, this.response)는 alexa-sdk 것입니다. –