首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在setTimeout中,Alexa的技能反应没有显示任何东西。

在setTimeout中,Alexa的技能反应没有显示任何东西。
EN

Stack Overflow用户
提问于 2017-05-05 15:24:08
回答 1查看 414关注 0票数 0

从白天开始卡住了。问题就像这样。

代码语言:javascript
复制
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上,输出如下所示。

代码语言:javascript
复制
{
  "version": "1.0",
  "response": {
    "outputSpeech": {
      "type": "SSML",
      "ssml": "<speak>This is not working.<break time='2s'/></speak>"
    },
    "shouldEndSession": false
  },
  "sessionAttributes": {}
}

请帮帮我。问题是异步函数内部的响应,比如诺言、setTimeout、fetch或google,我没有得到正确的响应。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-08 11:04:34

最后,我想出了解决办法。

要在alexa框架中处理异步回调,有两种方法。

使用4.0.0以下版本

代码语言:javascript
复制
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 链接

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43808626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档