У меня проблема с моим методом clearInterval.Я подробно изучаю JS в FrontendMasters, и есть упражнение, в котором вам нужно использовать setInterval и регистрировать строку каждую секунду, а затем запускать clearInterval через 5 секунд.У меня есть доступ к правильному решению, но я хотел бы знать, почему мое решение не работает, чтобы лучше понять.console.log('clear called', func);
запускается через 5 секунд и регистрирует строку clear called
и тело функции.Я пытался использовать setTimeout, чтобы обернуть wrapper.stop()
, но это также не сработало.Я использовал замыкания, чтобы попытаться выполнить упражнение.Вот мой сценарий.
function sayHowdy() {
console.log('Howdy');
}
function everyXsecsForYsecs(func, interval, totalTime) {
function clear() {
console.log('clear called', func);
clearInterval(func);
}
return {
start() {
setInterval(func, interval);
},
stop() {
setTimeout(clear, totalTime);
}
}
}
const wrapper = everyXsecsForYsecs(sayHowdy, 1000, 5000);
wrapper.start();
wrapper.stop();
Спасибо