Мне нужно уменьшить количество сетевых вызовов от функции setInterval. Каждые 3 секунды вызывается API. Первому API иногда требуется больше времени для получения ответа от сервера.
Код
useEffect(() => {
const id = setInterval(async () => {
console.log('hello')
await callAPI()
console.log('bye')
}, 3000);
return () => {
clearInterval(id);
};
})
Проблема
Функция setInterval вызывает метод callAPI каждые 3 секунды, в то время как метод API первого вызова все еще работает в ожидании ответа сервера, что приводит к множеству вызовов API, которые рассылают сервер спамом. 1017 * Функция SetInterval должна дождаться ответа первого вызываемого метода перед повторным запуском метода каждые 3 секунды.