Я использую Dynasty в моем сервисе Nodejs Alexa Skill, работающем на AWS Lambda, для запроса к DynamoDB.Из-за структуры API я не могу использовать результат запроса в своем ответе Alexa.В приведенном ниже коде обратный вызов, переданный затем «then», запускается после возврата обработчика, поэтому «name» никогда не присваивается.Как я могу использовать информацию, полученную в ответном запросе в моем ответе?
const dynasty = require('dynasty')(credentials);
const myIntentHandler = {
canHandle(input) {
return input.requestEnvelope.request.intent.name === 'MyIntent';
},
handle(input) {
const userId = input.requestEnvelope.session.user.userId;
const users = dynasty.table('user');
var name;
users.find(userId).then(function(user) {
if(user) {
name = user.name;
} else {
...
}
});
return input.responseBuilder.speak('Hello ' + name).getResponse();
}
};