0
我有以下代码clearInterval犯规停止循环
startProgressTimer: function() {
var me = this,
updateProgressBars = function (eventItems) {
alert("updateProgressBars: looping");
alert("me.eventProgressTimerId:" + me.eventProgressTimerId);
var i = 0;
if (eventItems.length === 0) {
alert("internal Stop Begin")
clearInterval(me.eventProgressTimerId);
alert("internal Stop End")
eventItems = [];
}
for (i = 0; i < eventItems.length; i++) {
if (eventItems[i]._eventId) {
eventItems[i].updateProgressBar();
}
}
};
alert("Start Progress Timer");
this.eventProgressTimerId = setInterval(function() {
updateProgressBars([]);
}, 10000);
}
当函数被调用我希望它运行和底部出只有它不断循环。
屏输出
ALERT:updateProgressBars: looping
ALERT:me.eventProgressTimerId:10
ALERT:internal Stop Begin
ALERT:internal Stop End
ALERT:updateProgressBars: looping
ALERT:me.eventProgressTimerId:10
ALERT:internal Stop Begin
ALERT:internal Stop End
任何想法
调用startProgressTimer()多少次?如果它在同一个实例上多次调用,并且将间隔标识存储为实例变量,则只能取消最后一个实例变量。为什么不在'startProgressTimer()'中声明'eventProgressTimerId'变量作为局部变量? – nnnnnn
嘿优秀,有点调整,它的工作。非常感谢您 –
在这种情况下,或许我会将我的评论作为您的答案进行改写。 – nnnnnn