gpt4 book ai didi

javascript - 如何确定 setTimeout 是否在后台运行

转载 作者:行者123 更新时间:2023-11-29 17:19:04 26 4
gpt4 key购买 nike

我在停止之前触发的 setTimeout 函数时遇到问题。

我发现了一些相关问题,给出的解决方案是将 time_out 变量放在函数外部以使其工作。我试过了,但还是不行。

   this.A = function(){
if(time_out) clearTimeout(time_out);
// time_out is nothing here and this will return error

time_out = setTimeout(function(){ }, 3000);
}

-------------------------------------------------

this.time_out = 0;
this.A = function(){
if(this.time_out) clearTimeout(this.time_out);
//will run through, but the setTimeout setup previously will keep running...

this.time_out = setTimeout(function(){ }, 3000);
}

更新

我厌倦了将整个函数放入一个元素并在重置时调用它

if(el.data('time_out')) clearTimeout(el.data('time_out'));

这很完美

最佳答案

确保您在正确的范围内。

var timerFun = function(){
var me = this;
me.timer= undefined;

me.startTimeout = function(){
me.timer = setTimeout(me.SetterFunc, 3000);
};

me.setterFunc = function(){
alert('oh hai!');
me.ClearTimer();
};

me.clearTimer = function(){
if(me.timer!= undefined){
me.clearTimeout(me.timer);
}
};
return me;
};

关于javascript - 如何确定 setTimeout 是否在后台运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14226711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com