Задать вопрос
@rodgi

"TypeError: Cannot read property '0' of undefined", что делать?

Здесь есть уже такой вопрос, но там отсутствует правильный ответ. Суть вопроса:
Хочу сделать счетчик подписчиков на ютубе. Вот код:
const node-fetch = require("node-fetch")

let api_key = "123123123123123123123"
let channel_id = "123123123123123"

const livesubs = () => {
    let response = fetch(`https://www.googleapis.com/youtube/v3/channels?part=statistics&id=${channel_id}&key=${api_key}`)
    .then(function (response) {
        updateView(response.items[0].statistics.subscriberCount);
    }).catch(err => console.log(err))
    .then(response => response.json())
  
    const updateView = (subscribersCount) => {
        counterValue.innerHTML = subscribersCount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
    }
    function app() {
        livesubs();
        window.setInterval(livesubs, 5000);
        console.log(response.items)
    }}
  • Вопрос задан
  • 127 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 1
Aetae
@Aetae Куратор тега JavaScript
Тлен
Не пытаться прочитать свойство '0' у undefined значения, очевидно. В ошибке всё написано.
Смотрите где вы читаете свойство с ключом '0'. Нашли?
Теперь смотрите у какого объекта вы пытаетесь прочесть это свойство. Нашли?
Вот этот объект - отсутствует(undefined). А уж разобраться почему он отсутствует - ваша задача.

spoiler
response.items[0]
items отсутствует в response
А отсутствует он там потому что json() вы получаете почему-то уже после того, как пытаетесь получить items из сырого необработанного Response.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
OfferCase Москва
от 400 000 ₽
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
Future Москва
от 50 000 до 70 000 ₽