从白天开始卡住了。问题就像这样。
var alexa = require('alexa-app');
// Define an alexa-app
var myapp = new alexa.app('myapp');
myapp.intent('WelcomeIntent', function(request,response) {
console.log(request);
response.say("This is not working.<break time='2s'/>")
setTimeout(function(){
response.say("This is inside timeout.")
},1000);
});在语音模拟器Amazon上,输出如下所示。
{
"version": "1.0",
"response": {
"outputSpeech": {
"type": "SSML",
"ssml": "<speak>This is not working.<break time='2s'/></speak>"
},
"shouldEndSession": false
},
"sessionAttributes": {}
}请帮帮我。问题是异步函数内部的响应,比如诺言、setTimeout、fetch或google,我没有得到正确的响应。
发布于 2017-05-08 11:04:34
最后,我想出了解决办法。
要在alexa框架中处理异步回调,有两种方法。
使用4.0.0以下版本
var alexa = require('alexa-app');
// Define an alexa-app
var myapp = new alexa.app('myapp');
myapp.intent('WelcomeIntent', function(request,response) {
console.log(request);
makePromiseBasedCallback(request,response);
return false;
});
makePromiseBasedCallback.then(function(data){
response.say(data.cardContent);
response.send();
});使用4.0.0版
遵循github 链接
https://stackoverflow.com/questions/43808626
复制相似问题