如果我在javascript中设置了超时
var myTimeoutId = setTimeout( function(){
... do some stuff ....
}, 15000);
不同的事件使我需要立即执行超时,有没有办法可以使用该存储的ID来执行函数?我知道我可以存储对该函数的引用,在myTimeoutId
上调用clearTimeout
,然后直接调用该函数,但这涉及相当多的簿记。
有没有类似 executeNow( myTimeoutId )
的功能?
No.您需要单独创建函数,以便可以从任何位置调用它:
function fn (){
// ... do some stuff ....
}
var myTimeoutId = setTimeout( fn, 15000);
// one possibility
function other () {
clearTimeout(myTimeoutId);
fn();
}
in nodejs:
const timeout = setTimeout(() => {
console.log("timeout function");
}, 10000);
// execute timeout function
timeout._onTimeout();
clearTimeout(timeout);