Обновлять функцию каждые 3 секунды в реагировать родной - PullRequest
0 голосов
/ 21 февраля 2019

Мне было интересно, можно ли устанавливать интервал времени для запуска функции каждые 3 секунды.Допустим, в моем приложении 5 разных экранов, и на всех 5 экранах установлен интервал времени 3 секунды, и я буду продолжать вызывать функцию для автоматического обновления экрана.

Меня беспокоит, вызовет ли этотрафик на сервер, если приложение одновременно используют несколько пользователей, и сервер будет продолжать получать запрос от приложения?

Пример кода:

componentDidMount(){
    this.interval = setInterval(() => {
        this.loadCase()
    }, 3000);
}

componentWillUnmount(){
    clearInterval(this.interval);
}

loadCase(){
    CaseController.loadCase().then(data=>{
        if(data.status == true){
            this.setState({ case: data.case })
        }
    })
}

1 Ответ

0 голосов
/ 21 февраля 2019

Если у вас есть конечная точка API, которую нужно опрашивать каждые 3 секунды, и вы хотите избежать избыточных вызовов из приложения, попробуйте использовать setInterval в вашем App.js или там, где находится корень вашего приложения,и поместите результат в Redux / любое другое решение для управления состоянием, которое вы используете, чтобы вы могли получить к нему доступ в другом месте.

Чтобы ответить на ваш вопрос о «интенсивном трафике», да, это неизбежно будет многоВызовы API, которые должен обрабатывать ваш сервер.Если это вызовет проблемы с текущей настройкой вашего API-сервера, я бы внимательно посмотрел на ваше приложение и выяснил, есть ли способ уменьшить влияние, которое будет иметь большое количество пользователей, будь то кеширование или увеличениепромежуток времени между вызовами API или полное пересмотр этого подхода.

...