Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使用Twitter和节点读取文本属性_Javascript_Twitter - Fatal编程技术网

Javascript 无法使用Twitter和节点读取文本属性

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 =

在我尝试使用javascript和node进行深入研究的过程中,我尝试构建一个小型twitter应用程序,用给定的标签收集最后10条tweet—问题是在收集了9条tweet并将其记录到控制台之后出现的。根据散列标记(我在当天早些时候尝试过#happy,程序运行时没有问题),程序要么按预期运行,要么抛出错误,认为文本属性未定义。我的代码如下:

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);
}