我写了一个简单的脚本,在一段时间后将某人记录下来。我正在遇到JS Hint的一个只读问题,我想解决但是我有点卡住了。我的脚本中是否应该更改以允许返回我的2个超时功能和1个间隔功能?理想情况下,我想让他们远离全局,但我想不出一种方法可以将它们提升到可以在我休息的地方使用。
谢谢!
var timeOut = {
time: "2700000", // in ms (45 mins)
time_alert: "30000", // in ms (30 seconds)
init: function(){
$("#modal_timeout").on("hidden.bs.modal",function(){
timeOut.reset();
});
var timeout_Countdown = (timeOut.time/1000) - 1;
timeOut_display = setInterval(function(){
$("#modal_timeout span.timeoutCountdown").text(timeout_Countdown);
timeout_Countdown = timeout_Countdown-1;
},1000);
timeOut_timer = setTimeout(function(){
$(".topmenu #logout").trigger("click");
},timeOut.time);
timeOut_alerter = setTimeout(function(){
$("#modal_timeout").modal();
},timeOut.time-timeOut.time_alert);
},
reset: function(){
clearTimeout(timeOut_display);
clearTimeout(timeOut_timer);
clearTimeout(timeOut_alerter);
timeOut.init();
}
};
答案 0 :(得分:0)
你看过的东西太久了,错过了明显的答案?感谢@charlietfl。
我必须创建主时间的3个函数属性:
r = requests.get('https://api.wit.ai/message?v=20160918&q=%s' % speech,
headers={"Authorization": wit_ai_token}).json()
our_timestamp = r['entities']['time'][0]['value']
答案 1 :(得分:-2)
当然,如果已定义,您可以按名称杀死间隔或超时。
但有时,我们超出范围,未清除的间隔对慢速计算机来说是一种痛苦。
在这种情况下,您可以尝试这样做:通过他们的pid杀死所有间隔。
在我的测试之后,您可以修改限制,它应该是64000.此数字是浏览器可以设置的最大间隔。它可能会变化,或进化!只需几毫秒来迭代,所以我不认为它是禁止的方式,它运作良好。
function killallIntervals(){
for (var i = 1; i < 68000; i++)
window.clearInterval(i);
}
更新了快速展示!
setInterval(function(){ console.log("Interval!") }, 400)
setInterval(function(){ console.log("Another Interval!") }, 700)
setInterval(function(){ console.log("Too much Intervals!") }, 800)
setInterval(function(){ console.log("I want to") }, 1200)
setInterval(function(){ console.log("Die!") }, 1400)
setTimeout(function(){
killallIntervals()
console.log("exTerminated!")
}, 7000)
function killallIntervals(){
for (var i = 1; i < 68000; i++)
window.clearInterval(i);
}
它也可以预测超时。