Я предполагаю, что вы выполнили IIFE таким образом, и вы хотели очистить тайм-аут, выданный из цикла for:
for(let i=0; i< 4; i++){
(()=>{
setTimeout(() => {
console.log("done");
},3000);
})();
}
В этом случае setTimeout()
возвращает id
, используя который вы можете сбросить выданные тайм-ауты:
const arr = []
for(let i=0; i< 4; i++){
(()=>{
let id = setTimeout(() => {
console.log("done");
},3000);
arr.push(id);
})();
}
arr.forEach((id)=>clearTimeout(id)); //done not printed in console as timeout was cancelled