Squeak.ru - шаблоны программирования

Невозможно прочитать текстовое свойство с помощью Twitter и Node

Пытаясь глубоко погрузиться в javascript и node, я пытаюсь создать небольшое приложение для твиттера, чтобы собирать последние 10 твитов с заданным хэштегом — проблема возникает после того, как 9 твитов собраны и зарегистрированы на консоли. В зависимости от хэш-тега (я попробовал #happy ранее в тот же день, и программа запустилась без проблем), программа либо работает, как ожидалось, либо выдает ошибку, думая, что свойство text не определено. Мой код ниже:

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

Ошибка, которую я получаю после отображения 9-го твита в консоли, выглядит следующим образом:

/Users/seanwelch/Desktop/statusboard/app.js:10
    if (tweets.statuses[i].text) {
                          ^

TypeError: Cannot read property 'text' of undefined
20.07.2017

  • Ваш звонок в твиттер проходит подсчет: 9, который, кажется, извлекает только последние 9 твитов. Вот почему ваш цикл ссылается на нулевое значение, когда он достигает 10-й итерации вашего цикла. 20.07.2017

Ответы:


1

Вы пытаетесь получить доступ к несуществующему ресурсу, возможно, нет 10 твитов с этим #хэштегом?

Я бы предложил переписать ваш цикл for на что-то вроде этих строк

for (var i = 0; i < tweets.statuses.length; i++) {
    var tweet = tweets.statuses[i].text
    console.log(i)
    console.log(tweet);
}
20.07.2017
  • Да, похоже, API поиска в твиттере генерировал результаты только за определенный период времени. Ваше решение полностью сработало - большое спасибо! 20.07.2017
  • @seanpwelch90 Не забудьте отметить это как ответ, если это сработало! :) 21.07.2017
  • Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...