强制javascript超时函数立即执行

Bos*_*ohn 3 javascript timeout

如果我在javascript中设置了超时

var myTimeoutId = setTimeout( function(){
    ... do some stuff ....
}, 15000);
Run Code Online (Sandbox Code Playgroud)

并且一个不同的事件让我需要立即执行超时,有没有办法可以使用存储的id来执行函数?我知道我可以保存关闭该功能的引用,调用clearTimeout上myTimeoutId,然后直接调用函数,但有参与该记帐,像样的数目.

是否有一个功能 executeNow( myTimeoutId )?

小智 5

不需要.您需要单独创建该功能,以便可以从任何地方调用它:

function fn (){
    // ... do some stuff ....
}

var myTimeoutId = setTimeout( fn, 15000);

// one possibility
function other () {
    clearTimeout(myTimeoutId);
    fn();
}
Run Code Online (Sandbox Code Playgroud)