我正在开发一个基于React的计时器应用程序。倒数计时在Web和移动设备上均可完美运行,但在移动设备上的浏览器上冻结/错误计数时,倒计时最小或与后台无关。当最小化浏览器或锁定手机时,是否有任何方法可使计时器在后台按预期运行?
l
这是我的定时器函数代码,该函数减少时间并在倒计时结束时调用onEnd函数。
timer = () => {
if (!this.props.paused) {
this.setState(
prevState => ({ time: prevState.time - 1 }),
() => {
if (this.state.time === 0) {
clearInterval(this.state.countdown);
this.props.onEnd();
}
}
);
}
};
setInterval函数每1秒调用一次。
是否有一种简便的方法可以使计时器在手机后台正常工作?我被推荐为服务人员。在create-react-app设置中,可以使用服务工作者来实现此功能吗?