Если правильно понял, нужно, чтобы срабатывание любого таймера было эксклюзивным – оно отключало другие сработавшие до этого таймеры.
Каждый следующий гасит предыдущие.
let previousTimer;
const startTimer = (word, delay, callback) => {
const timer = setInterval(
() => {
if (previousTimer !== timer) {
clearInterval(previousTimer);
previousTimer = timer;
}
callback();
},
delay
);
};
startTimer('t1', 280, () => console.log('cb t1'));
startTimer('t2', 1200, () => console.log('cb t2'));
startTimer('t3', 910, () => console.log('cb t3'));
// t1, t1, t1, t3, t2, t2, t2...