Так что в основном я пытаюсь создать альтернативу функции 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
, которая запускает другую функцию (слишком долго дляinclude), но в основном, когда callTimeout
выполняет переданную функцию, он использует только окончательное значение (6) из updateInterval
.Я не могу обойти использование параметра для updateInterval
, потому что он вызывается в функции, переданной через startTimeout()
, и мне нужно, чтобы он сохранил то же значение, с которым он был первоначально вызван, однако это значение является проблемой, о которой идет речь.
Я не уверен, хорошо ли я сформулировал это, это мой первый вопрос, скажите мне, если мне нужно что-то изменить, пожалуйста.
Я пытался использовать this
вместо var
во множестве мест.