Не удается получить данные из функции get - PullRequest
0 голосов
/ 05 апреля 2019

Я пишу лямбда-функцию для обработки запроса навыков Алексы. Внутри 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 возвращает пустую строку.

1 Ответ

0 голосов
/ 11 апреля 2019

Алекса ничего не сказала бы в вашем случае.Это потому, что `

 var speechOutput = response;
 this.response.speak(speechOutput);
 this.emit(':responseReady');

` выполняется еще до того, как ваш код начнет обрабатывать полученный ответ.Один из способов решения этой проблемы - переместить вышеупомянутый код внутрь " res.on ", чтобы при возврате строки ответа ей присваивалось значение " speechOutput ", и Alexa моглаговорить об этом.

...