当活动处于暂停状态时,setInterval停止

React Native, setInterval stopped when activity is on pause

本文关键字:setInterval 停止 暂停状态 活动      更新时间:2023-09-26

我想在我的应用程序中创建一个定时器。我创建了一个定时器

var timer = document.getElementById('timer');
var rest = 90;
timer.innerHTML = rest + 's';
var interval = setInterval(function(){
  if(rest <= 0){
    clearInterval(interval);
   }else{
     rest -= 1;
    timer.innerHTML = rest + 's';
  }
  
}, 1000);
<div id='timer'></div>

但是,当用户离开我的应用程序(不是杀死,只是离开)并去任何其他应用程序时,计时器停止工作。

当他回到我的应用程序时,计时器开始工作

这个问题是对以下问题的复制:

如何在React Native中运行后台任务?

答案如下:不幸的是,目前还不支持任何类型的后台任务。你所指的功能将是一个后台计时器。这样的计时器是react native的产品要求(一个功能请求),您可以投票给它,以显示对该功能的需求增加。

(还没有更新。

我用了一个小技巧。

var that = this;
  for(var i = 1; i <= that.state.restSec; i++){
    setTimeout(function(){
      //do your stuff here
    }, i * 1000);
  }

当你回来时,超时被更新,就像他们在"onpause"期间工作一样:)。