У меня есть навык Alexa, в котором я пытаюсь получить данные из внешнего источника. Это в формате JSON, и я пытаюсь сохранить данные в атрибуте сеанса в request interceptor
, но когда я пытаюсь получить доступ к этим данным в обработчиках намерений, он обычно возвращает ошибку, потому что говорит: атрибут не определен .
Я пытался отладить код, и иногда, без изменения какого-либо кода, он будет работать, но только в 5% случаев, когда он действительно работает.
const RetrieveData = {
async process(handlerInput){
https.get(endpoint, resp => {
let data = "";
resp.on('data', (chunk) => {
data += chunk;
});
resp.on('end', () => {
var sessionAttributes = handlerInput.attributesManager.getSessionAttributes();
sessionAttributes.seeChange = "Testing Change!";
sessionAttributes.data = JSON.parse(data);
handlerInput.attributesManager.setSessionAttributes(sessionAttributes);
console.log(JSON.stringify(handlerInput.attributesManager.getSessionAttributes()));
});
}).on("error", (err) => {
console.log("Error: " + err.message);
});
}
};
Атрибуты сеанса даже не сохранят атрибут seeChange
атрибута sessionAttributes. Я ожидаю увидеть оба из них, когда я регистрирую атрибуты сессии, но обычно я не вижу ни одного из них. Спросите меня, если у вас есть вопросы Заранее спасибо!