因此,基本上,我正在尝试创建setTimeout
函数的替代方法,因为它不适用于我的目的。
addInterval(func, wait_time){
this.intervals.push(func);
this.interval_waits.push(wait_time);
this.updateInterval(this.interval_waits.length - 1);
}
updateInterval(index){
console.log(index);
function callTimeout(index, timeC){
let i = index;
let t = timeC;
timeC.startTimeout(function(){
console.log(i);
t.intervals[i](t.interval_depends[i]);
t.updateInterval(i);
}, t.interval_waits[i]);
}
let a = index;
callTimeout(a, this);
}
调用this.updateInterval
时,它一次将值0-6
发送到updateInterval
,此函数调用一个称为callTimeout
的内部函数,该内部函数启动另一个函数(太很长的时间),但是基本上在callTimeout
执行传递的函数时,它仅使用updateInterval
中的最终值(6)。我无法绕过使用updateInterval
的参数,因为它在通过startTimeout()
传递的函数中被调用,并且我需要它保留与最初调用时相同的值,但是该值是问题所在问题。
我不确定我的措辞是否很好,这是我有史以来第一个问题,告诉我是否需要更改任何内容。
我尝试在很多地方使用this
代替var
。