@connecter

Задержка отправки запроса, до получения ответа от предыдущего?

Добрый день, как реализовать задержку в отправке запросов? React и NodeJS.
В данный момент сделал так, что у кнопки есть состояние, к примеру, ready: true, если был оправлен запрос, то состояние меняется на false, как получен ответ, состояние меняется обратно на true.
Хотелось бы узнать как грамотно и правильно это реализовать от более опытных разработчиков.
  • Вопрос задан
  • 749 просмотров
Пригласить эксперта
Ответы на вопрос 1
RomReed
@RomReed
JavaScript, Flutter, ReactNative, Redux, Firebase
вам нужно в начале запроса сделать флаг например isFetch и поставить его в true. Если запрос закончился или же произошла какая то ошибка во время запроса то поставить его в false. И если isFetch true то не выполнять запрос.
_getPostcards () {
    try {
this.setState({isFecth:true})
      const url = domain + '?app_id='+ app_id +'&category='+ category +'&page=' + this.state.page
      return fetch(url)
      .then((response) => response.json())
      .then((responseJson) => {
        console.log(responseJson)
        this.setState({ data: responseJson.photos, pageMax: responseJson.pages })
this.setState({isFecth:false}) //<--------
      })
      .catch((error) =>{
        console.error(error);
       this.setState({isFecth:false}) //<--------
      });
    } catch (e) {
      throw e
      this.setState({isFecth:false}) //<--------
    }
  }
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы