Я пытаюсь использовать Alexa для поиска DynamoDB для соответствующего состояния в определенные даты и время.
В настоящее время я получаю следующую ошибку в облачных часах
TypeError: Cannot read property 'state' of undefined
Вотполная ошибка
2018-05-18T09:25:50.175Z 73ac1779-5a7d-11e8-85af-e35ca28db9ce TypeError: Cannot read property 'state' of undefined
at Response.<anonymous> (/var/task/index.js:40:28)
at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:364:18)
at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:683:14)
at Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:685:12)
Я также получаю следующее
2018-05-18T09: 25: 50.174Z 73ac1779-5a7d-11e8-85af-e35ca28db9ce элемент загруженных данных: не определено
Может кто-нибудь помочь мне понять это?
Вот строки, к которым относится ошибка.
dbClient.query(params, function (err, data) {
if (err) {
// failed to read from table for some reason..
console.log('failed to load data item:\n' + JSON.stringify(err, null, 2));
// let skill tell the user that it couldn't find the data
sendResponse(context, callback, {
output: "the data could not be loaded from your database",
endSession: false
});
} else {
let dataItem = data.Items[0];
console.log('loaded data item:\n' + JSON.stringify(dataItem, null, 2));
// assuming the item has an attribute called "state"..
sendResponse(context, callback, {
output: dataItem.state,
endSession: false
});
}
});
};
function sendResponse(context, callback, responseOptions) {
if(typeof callback === 'undefined') {
context.succeed(buildResponse(responseOptions));
} else {
callback(null, buildResponse(responseOptions));
}
}
function buildResponse(options) {
var alexaResponse = {
version: "1.0",
response: {
outputSpeech: {
"type": "SSML",
"ssml": `<speak><prosody rate="slow">${options.output}</prosody></speak>`
},
shouldEndSession: options.endSession
}
};
if (options.repromptText) {
alexaResponse.response.reprompt = {
outputSpeech: {
"type": "SSML",
"ssml": `<speak><prosody rate="slow">${options.reprompt}</prosody></speak>`
}
};
}
return alexaResponse;
}
ОБНОВЛЕНИЕ
Я также обнаружил эту ошибку в облачных часах
2018-05-18T14:46:37.928Z 3158fac8-ea71-4305-a2be-dda782b58531 Unexpected error occurred in the skill handler! TypeError: Cannot read property 'type' of undefined
at exports.handler (/var/task/index.js:81:17)
и в соответствии с запросом здесь ошибка с элементом загрузки
2018-05-18T14:46:45.592Z 48df3d5d-5aaa-11e8-aa8c-f3f6ecf5748a loaded data item:
undefined