Есть ли способ узнать количество итераций функции setInterval без использования дополнительной переменной?
Чтобы вместо
var count = 0;
setInterval(function(){count++;},1000);
было как
var iid = setInterval(function(){console.log("hello world");},1000);
//проходит некоторое время
var count = getIntervalCount(iid);
Думаю, что стандартных средств нет. Но всегда можно написать свои обёртки:
function mySetInterval(func, tmt){
var retObj={"counter":0};
retObj["realInterval"]=
setInterval(function (){retObj.counter++; func();}, tmt);
return retObj;
}
function myClearInterval(obj){
clearInterval(obj.realInterval);
}
function getIntervalCount(obj){
return obj.counter;
}
Если нужны дополнительные параметры, передаваемые в функцию, можно изменить функцию mySetInterval так:
function mySetInterval(func, tmt, ...args){
var retObj={"counter":0};
retObj["realInterval"]=
setInterval(function (){retObj.counter++; func(...args);}, tmt);
return retObj;
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники