// вариант 1, работающий
let timerId = setInterval(() => {
//...
clearInterval(timerId);
}, 1000);
// вариант 2, НЕ работающий
const func = (timerId) => {
//...
clearInterval(timerId);
}
let timerId = setInterval(func, 1000, timerId);
// timerId неопределен
const func = (timerId) => {
//...
clearInterval(timerId);
}
const timerFactory = (cb, timeout) => {
let timerId = setInterval(() => {
func(timerId)
}, timeout);
return timerId;
}
let timerId = timerFactory(func, 1000);