функция никогда не вызывается после опроса с помощью setTimeout () - PullRequest
0 голосов
/ 24 января 2019

У меня есть компонент React, который запускает модальный режим после успешного завершения операции (тайм-аут 5 секунд, чтобы исчезнуть), но у меня возникают проблемы с ним, потому что модальный режим не вызывает функцию, которая изменяет состояние и закрывает его. Я думаю, что проблема в том, что я получаю данные из API каждые 2 секунды, используя setTimeout(), и функция моего модального режима никогда не выходит из стека (я тестировал, и моя функция никогда не вызывается), есть ли хороший способ приблизиться к этому? проблема без установки времени setTimeout моего модального режима ниже, чем тот, который выбирает данные? Вот пример функции:

const fetchFunction = id => {
  fetchFile(id, response => {
    // If the current state is pending, we call this function in 2 seconds.
    if (condition) {
      setTimeout(() => {
        fetchFunction(id);
      }, 2000);
    } else if (response) {
      doSomething()
    }
  });
};
...