关闭浏览器后,React Web App中的计时器无法在移动设备中运行

时间:2018-12-11 18:42:42

标签: javascript reactjs mobile service-worker progressive-web-apps

我正在开发一个基于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设置中,可以使用服务工作者来实现此功能吗?

0 个答案:

没有答案