Ошибка Gettting при получении ответа от API в узле лямбда-функции js - PullRequest
0 голосов
/ 11 июля 2019

Пока я намерен AMAZON ALEXA, моя лямбда-функция не получила ответ от api ...

и получил ответ - извините, произошла ошибка.Пожалуйста, скажи еще раз.

Ответы [ 2 ]

0 голосов
/ 11 июля 2019
const GetProductList_Handler =  {
  canHandle(handlerInput) {
const request = handlerInput.requestEnvelope.request;
return request.type === 'IntentRequest' && request.intent.name === 'GetProductList' ;

},

async handle(handlerInput) {
const request = handlerInput.requestEnvelope.request;
const responseBuilder = handlerInput.responseBuilder;
let sessionAttributes = handlerInput.attributesManager.getSessionAttributes();

var myRequest = 'Florida';
httpsGet(myRequest,  (myResult) => {
    say = "there2"+JSON.stringify(myResult);
});

    return responseBuilder
        .speak(say)
        .reprompt('try again, ' + say)
        .getResponse();
},

}

0 голосов
/ 11 июля 2019

функция httpsGet (myData, callback) {

var options = {
    host: 'cp6gckjt97.execute-api.us-east-1.amazonaws.com',
    port: 80,
    path: '/prod/stateresource?usstate=' + encodeURIComponent(myData),
    method: 'GET',
};



var req = https.request(options, res => {
    res.setEncoding('utf8');
    var returnData = "";
    res.on('data', chunk => {
        returnData = returnData + chunk;
    });
    res.on('end', () => {
        console.log(JSON.stringify(returnData))
        var pop = JSON.parse(returnData).population;
        callback(pop);  // this will execute whatever function the caller defined, with one argument

    });
});
req.end();

}

...