Как извлекать данные API каждую минуту и сохранять их в файл с помощью React?

#reactjs #api #fetch

Вопрос:

Я использую React и извлекаю данные из API, который имеет ограничение в 50 вызовов в минуту, и мое приложение использует большинство из них при загрузке страницы, на которой отображаются эти данные, потому что они организованы в таблицу, и каждая строка представляет собой HTTP-запрос к API (см. Скриншот). введите описание изображения здесь

Очевидно, проблема в том, что при обновлении пользователя в течение 1 минуты большая часть данных не загружается, и консоль заполняется ошибкой cors.

Я думал написать node.js скрипт, который извлекает данные каждые 1 минуту и записывает их в файл, чтобы интерфейс мог использовать их без проблем, но как бы я это сделал, не написав бэкэнд-скрипт?

Как я могу записывать каждую минуту в файл для хранения извлеченных данных API, не сталкиваясь с проблемой, что каждый раз, когда пользователь обновляет страницу, сбрасывается таймер на 1 минуту?

Ответ №1:

для решения этой проблемы вы можете использовать крючок useInterval и дать ему время повторить операцию извлечения в течение указанной продолжительности. Вы можете найти крючок по ссылке ниже.

https://overreacted.io/making-setinterval-declarative-with-react-hooks/

Комментарии:

1. Это хорошо, но дело в том, что даже при использовании useInterval и записи данных API в файл json, если пользователь обновит страницу в течение 60 секунд, setInterval перезапустится с нуля и попытается снова перезаписать в json, но ничего не напишет, потому что 60 секунд не прошли, и API возвращает ошибку cors.