Javascript 无法使用Twitter和节点读取文本属性
在我尝试使用javascript和node进行深入研究的过程中,我尝试构建一个小型twitter应用程序,用给定的标签收集最后10条tweet—问题是在收集了9条tweet并将其记录到控制台之后出现的。根据散列标记(我在当天早些时候尝试过#happy,程序运行时没有问题),程序要么按预期运行,要么抛出错误,认为文本属性未定义。我的代码如下:Javascript 无法使用Twitter和节点读取文本属性,javascript,twitter,Javascript,Twitter,在我尝试使用javascript和node进行深入研究的过程中,我尝试构建一个小型twitter应用程序,用给定的标签收集最后10条tweet—问题是在收集了9条tweet并将其记录到控制台之后出现的。根据散列标记(我在当天早些时候尝试过#happy,程序运行时没有问题),程序要么按预期运行,要么抛出错误,认为文本属性未定义。我的代码如下: var twit = require('twit') var config = require('./config.js') var twitter =
var twit = require('twit')
var config = require('./config.js')
var twitter = new twit(config);
twitter.get('search/tweets', { q: '#happy', count: 9 }, function(err, tweets) {
for (var i = 0; i < 10; i++) {
if (tweets.statuses[i].text) {
var tweet = tweets.statuses[i].text
console.log(i)
console.log(tweet);
}
}
});
你试图访问一个不存在的属性,可能没有10条tweet带有这个#hashtag 我建议将for循环重写为以下内容
for (var i = 0; i < tweets.statuses.length; i++) {
var tweet = tweets.statuses[i].text
console.log(i)
console.log(tweet);
}
for(var i=0;i
您对twitter的呼叫传递了一个“count:9”,它似乎只检索最后9条推文。这就是为什么循环在循环的第10次迭代时引用空值是的,看起来twitter搜索API只在某个时间段生成结果。您的解决方案完全有效-非常感谢@seanpwelch90如果有效,不要忘记将其标记为答案!:)
for (var i = 0; i < tweets.statuses.length; i++) {
var tweet = tweets.statuses[i].text
console.log(i)
console.log(tweet);
}