добавляю 60 минут и делаю таймер обратного отсчета. Все считает нормально но если программа долго работает в фоновом режиме то перестает считать не обновляется текущее время. Как такое исправить?
                  
                  
                  
                  
                  
                   var endDate = new Date(stopTime).getTime();
                  
                  
                  
                  
                  
                      var timer = setInterval(function() {
                  
                  
                          let now = new Date().getTime();
                  
                  
                          let t = endDate - now;
                  
                  
                          
                  
                  
                          if (t >= 0) {
                  
                  
                              let minuts = Math.floor((t % (1000 * 60 * 60)) / (1000 * 60));
                  
                  
                              let seconds = Math.floor((t % (1000 * 60)) / 1000);
                  
                  
                              setTimer([minuts, seconds]) 
                  
                  
                          } 
                  
                  
                  
                  
                  
                      }, 1000);
                  
                  
                
есть второй вариант: Этот код на бэк передай, пусть бэк сам считает и по истечению времени какое-то уведомление пусть шлет, а по уведомлению ты запустишь какую-то функцию, которая тебе нужна, вот это жб сработает
у меня нет бэка. только привязка к времени телефона
значит react-native-background-task
Вроде бы у бекграунд тасков есть ограничение, что они вызываются с каким-то интервалом(достаточно большим)
Я на андроиде создавал сервис, который работал в бекграунде и трекал локацию, может посмотрите в этом направлении
Обсуждают сегодня