Я использую setInterval в Reaction-native, как показано ниже, с TimerMixin.
TimerMixin.setInterval(
() => {
console.log('timer running!');
const seconds = this.gameTimerView.current.returnSeconds();
console.log(`timer seconds: ${seconds}`);
},
1000
);
Я замечаю из журналов, что он не вызывается каждую секунду.
.js:1648 timer seconds: 6
.js:1646 timer running!
.js:1648 timer seconds: 7
.js:1646 timer running!
.js:1648 timer seconds: 8
.js:1646 timer running!
.js:1648 timer seconds: 10
.js:1646 timer running!
Могу ли я в любом случае убедиться, что он запускается каждую секунду?
// ОБНОВЛЕНИЕ
Корень этого в том, что у нас есть объект / массив значений, таких как:
{
0: {positionSpace: 0, completed: false },
7: {positionSpace: 7, completed: false },
12: {positionSpace: 8, completed: false },
20: {positionSpace: 14, completed: false },
}
Для каждого значения ключа в приведенном выше, нам нужно переместить пользовательскую / маленькую анимацию То есть Через 7 секунд, затем 12 секунд, затем 20 секунд и так далее.
Однако здесь важно отметить, что таймер можно поставить на паузу. То есть Если пользователь закрывает приложение (делает паузу), таймер тоже останавливается. Таким образом, мы не можем просто setTimeout
для каждого из вышеперечисленных, так как не думаю, что это будет работать?