Я работаю над приложением таймера на основе React.Обратный отсчет отлично работает как в Интернете, так и на мобильных устройствах, но он останавливается / пропускает счет, когда в браузере на мобильном телефоне он свернут или закрыт для фона.Есть ли способ заставить таймер работать, как ожидается, в фоновом режиме, когда браузер свернут или телефон заблокирован?
timer = () => {
if (!this.props.paused) {
this.setState(
prevState => ({ time: prevState.time - 1 }),
() => {
if (this.state.time === 0) {
clearInterval(this.state.countdown);
this.props.onEnd();
}
}
);
}
};
Это мой код для функции таймера, которая уменьшает время и вызывает функцию onEnd при обратном отсчете.
componentDidMount() {
const countdown = setInterval(this.timer, 1000);
}
Эта функция вызывается каждую 1 секунду функцией setInterval.
Существует ли простой способ заставить таймер работать так, как ожидается от фона для мобильных телефонов?Я был рекомендован обслуживающим работникам.Что можно сделать в настройке create-реагировать-приложения для реализации этой функции с помощью сервисных работников?