У меня есть js функция, которая срабатывает раз в 4-ре секунды:
const switcher = () => {
try {
if (!currentBlock) {
currentBlock = firstAnimations;
startAll(currentBlock);
} else if (currentBlock === firstAnimations) {
stopAll(currentBlock);
currentBlock = secondAnimations;
startAll(currentBlock);
} else if (currentBlock === secondAnimations) {
stopAll(currentBlock);
currentBlock = thirdAnimations;
startAll(currentBlock);
} else if (currentBlock === thirdAnimations) {
stopAll(currentBlock);
currentBlock = fourthAnimations;
startAll(currentBlock);
} else if (currentBlock === fourthAnimations) {
stopAll(currentBlock);
currentBlock = fifthAnimations;
startAll(currentBlock);
} else if (currentBlock === fifthAnimations) {
stopAll(currentBlock);
currentBlock = firstAnimations;
startAll(currentBlock);
}
} catch (e) {
console.error(e);
return;
}
setTimeout(switcher, 4000);
};
switcher();
Но я столкнулся с проблемой: если в браузере переключиться на другую вкладку, или же просто свернуть браузер - эта функция начинает давать сбой по времени (не стыкуется с другими функциями). В общем говоря, setTimeout не работает в фоне. Как это можно исправить?
Я вот какое-то
решение нашел подобной проблемы - а вот как к свей функции это прикрутить - не знаю... И подходит ли оно?