Node.js Alexa:使用来自服务的响应进行响应(节点v2 SDK)
我在玩Alexa API。我想让Alexa回复从服务接收到的内容 不确定在哪里添加承诺。我试过了,但是Alexa说请求技能的响应有问题Node.js Alexa:使用来自服务的响应进行响应(节点v2 SDK),node.js,alexa-skills-kit,Node.js,Alexa Skills Kit,我在玩Alexa API。我想让Alexa回复从服务接收到的内容 不确定在哪里添加承诺。我试过了,但是Alexa说请求技能的响应有问题 const HelloWorldIntentHandler = { canHandle(handlerInput) { return handlerInput.requestEnvelope.request.type === 'IntentRequest' && handlerInput.reque
const HelloWorldIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest'
&& handlerInput.requestEnvelope.request.intent.name === 'HelloWorldIntent';
},
handle(handlerInput) {
MyService.facts().then(function(data) {
const speechText = 'No facts';
if (data) {
speechText = 'random facts: '
data.forEach(function (fact) {
speechText += fact;
})
}
return handlerInput.responseBuilder
.speak(speechText)
.reprompt(speechText)
.getResponse();
}, function(err) {
console.log(err);
});
}
};
不使用Promise的响应。这个例子怎么样:
async handle(handlerInput) {
return await MyService.facts().then(function(data) {
// other stuff
});
}
你能解决这个问题吗?我也在为同样的事情苦苦挣扎。你有没有尝试过在resolve中包装你的响应生成器?这似乎是唯一一件在AWS中对异步调用始终有效的事情。