在延迟到期前调用 JavaScript setTimeout 回调
Call JavaScript setTimeout callback before delay expires
我有一个启动超时的函数,如果分配给超时的时间满足超时代码 运行s。
不过我也想这样做,以便另一个函数可以过早地使超时 运行。
我知道 JavaScript 有一个“clearTimeout”api,如下例所示:
var myVar;
function myFunction() {
myVar = setTimeout(function(){ alert("Hello") }, 3000);
}
function myStopFunction() {
clearTimeout(myVar);
}
但是我找不到任何api过早地超时运行。我怎样才能做到这一点?
语言本身没有概念来应用你的案例,你可以停止超时,但你不能通过内置函数在你想要的任何时间强制执行。
function timeout(fn, timer) {
var timerId = setTimeout(fn,timer);
return {
clear: function() {
clearTimeout(timerId);
},
forceExecute: function() {
this.clear();
fn();
}
}
}
试试这个可能会有帮助
我有一个启动超时的函数,如果分配给超时的时间满足超时代码 运行s。
不过我也想这样做,以便另一个函数可以过早地使超时 运行。
我知道 JavaScript 有一个“clearTimeout”api,如下例所示:
var myVar;
function myFunction() {
myVar = setTimeout(function(){ alert("Hello") }, 3000);
}
function myStopFunction() {
clearTimeout(myVar);
}
但是我找不到任何api过早地超时运行。我怎样才能做到这一点?
语言本身没有概念来应用你的案例,你可以停止超时,但你不能通过内置函数在你想要的任何时间强制执行。
function timeout(fn, timer) {
var timerId = setTimeout(fn,timer);
return {
clear: function() {
clearTimeout(timerId);
},
forceExecute: function() {
this.clear();
fn();
}
}
}
试试这个可能会有帮助