我有一个启动超时的函数,如果满足分配给超时的时间,则运行超时代码。
但是我也想这样做,以便另一个函数可以过早地使超时运行。
我知道JavaScript具有一个“ clearTimeout” api,如以下示例所示:
var myVar;
function myFunction() {
myVar = setTimeout(function(){ alert("Hello") }, 3000);
}
function myStopFunction() {
clearTimeout(myVar);
}
但是我找不到任何使超时过早运行的API。我该怎么做?
答案 0 :(得分:1)
语言本身没有适用于您的情况的概念,您可以停止超时,但不能通过内置函数强制在任何时候执行。
function timeout(fn, timer) {
var timerId = setTimeout(fn,timer);
return {
clear: function() {
clearTimeout(timerId);
},
forceExecute: function() {
this.clear();
fn();
}
}
}
尝试一下可能会有帮助