我有以下代码,它将构成Alexa技能的一部分,它在本地使用node.exe工作正常但是当我把它放入Lambda时,fetch不会返回任何内容!和speechOutput只是"你的头条新闻是:"。任何人都可以建议为什么它不起作用?
var speechOutput="Your headlines are:";
var urlPrefix = 'https://api.rss2json.com/v1/api.json?rss_url=http://news.com/feed/';
const https = require('https');
//console.log(https.get(urlPrefix));
https.get(urlPrefix, (res) => {
var body = '';
res.on('data', function(data)
{
body += data;
});
res.on('end', function()
{
var result = JSON.parse(body);
jItems=result.items;
for ( var i=0 ; i < jItems.length ; i++ ) {
var article = jItems[i];
speechOutput +=", "+article.title ;
}
//console.log(speechOutput);
});
}).on('error', function(e)
{
console.log('Error: ' + e);
});
答案 0 :(得分:3)
我会将此添加为评论,但我没有足够的声誉。 :\
查看代码,lambda可能会在回调完成之前关闭。这就是为什么你收到第一次登录,而不是其余的。是的,如果require('https')失败,你应该得到一个错误,所以可能不是这样。
你可以发布剩下的代码吗?你在哪里调用我们的lambda中的context.done,或者在较新版本的节点中,你是否对回调函数进行回调?