Опрос API с помощью реакции и setIntervalJavascript

Форум по Javascript
Ответить
Гость
 Опрос API с помощью реакции и setInterval

Сообщение Гость »


Я пытаюсь каждую секунду опрашивать API Spotify с помощью setInterval, когда компонент загружается. Однако при тестировании я получаю сообщение об ошибке: Invalid Hook Call..etc. Я считаю, что это потому, что я использую useEffect внутри другого useEffect во время опроса. Я не знаю, как это преодолеть.

const getCurrentSong = () => { useEffect(() => { fetch('/spotify/current-song').then((response) => { // проверяем, если не ок если(!ответ.ок){ возвращаться {}; } еще { вернуть ответ.json(); } }).then((данные) => { setSong (данные); console.log(данные); }); }, []) } ПолучитьПодробностиКомнаты(); получить текущую песню(); useEffect(() => { константный интервал = setInterval(()=>{ //getCurrentSong(); console.log("тест"); }, 1000) return () => ClearInterval (интервал); }, []); Это та часть кода, которая вызывает беспокойство. Сначала я пытался избавиться от useEffect в функции getCurrentSong, но это означало бы, что я застряну в цикле выполнения этой функции, а это не то, чего я хочу. В идеале я хочу, чтобы компонент отображался, вызывал API, а затем каждую секунду опрашивал его на наличие обновлений.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»