Javascript Alexa Skill没有';在Ajax请求之后没有响应 这段代码工作得很好 此代码不起作用

Javascript Alexa Skill没有';在Ajax请求之后没有响应 这段代码工作得很好 此代码不起作用,javascript,ajax,amazon-web-services,aws-lambda,alexa,Javascript,Ajax,Amazon Web Services,Aws Lambda,Alexa,我曾尝试将和用作Ajax库,但效果相同 以下是版本: "alexa-app": "^2.4.0", "request-promise": "^2.0.0", "superagent": "^3.8.3" 以下是我的Alexa技能意图: "intents": [ { "name": "marcopolo", "slots": [], "samples": [ "marco" ] } ] 我从未见过app.intent()接受return语句的例子,但我在网上的某

我曾尝试将和用作Ajax库,但效果相同

以下是版本:

"alexa-app": "^2.4.0",
"request-promise": "^2.0.0",
"superagent": "^3.8.3"
以下是我的Alexa技能意图:

"intents": [
  {
    "name": "marcopolo",
    "slots": [],
    "samples": [ "marco" ]
  }
]
我从未见过
app.intent()
接受
return
语句的例子,但我在网上的某个地方读到一条回复,该回复建议在
app.intent()
内部异步需要返回承诺,但此更新没有任何效果:

return ajax('http://www.google.com')
我还认为这可能是缓慢和超时,但我的Alexa技能超时设置为5分钟。我还有其他技能可以毫无问题地使用Ajax,而且代码都是在Lambda(一种云服务)上运行的,所以我无法想象任何环境因素会导致这个问题

感谢您的帮助。

此代码有效 事实证明,需要一个
return
语句,它必须是
false
。我找不到任何有文档记录的地方,也找不到任何关于
返回false
app.intent()
意味着什么的解释。返回未定义的
,或者Promise对象破坏了交互。

我发现,但似乎正在做完全相同的事情。我一定没有正确地处理承诺。。。
"intents": [
  {
    "name": "marcopolo",
    "slots": [],
    "samples": [ "marco" ]
  }
]
return ajax('http://www.google.com')
var ajax = require('request-promise');
//...
app.intent('marcopolo', {
  'slots': {},
  'utterances': ['marco']
}, function(req, res){

  ajax('http://google.com').then(function() {
    console.log('success');
    res.say('polo').send();
  }).catch(function(err) {
    console.log(err.statusCode);
    res.say('not working').send();
  });
  return false;

});