强制 JavaScript 超时函数立即执行
force a javascript timeout function to execute immediately
如果我在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);
相关文章:
- 如何做到这一点,使代码在不传递条件后执行函数
- javascript自执行函数-不同的语法
- JavaScript:只有当数组中的所有项都为true时才执行函数
- iFrame url更改时执行函数
- 为什么AngularJS在每个摘要循环上都执行函数
- 如何使用setInterval执行函数
- 当*ngFor以角度2结束时执行函数
- Ajax调用完成后如何执行函数
- 在显示引导弹出窗口之前执行函数
- 从自执行函数返回函数的Javascript性能命中率
- 在操作完成时执行函数
- jquery/js中的自执行函数
- 如何仅在完成对gap.client.youtube的请求.execute后执行函数
- 构造函数函数中的自执行函数的OO上下文/范围
- Javascript未使用=运算符执行函数
- AngularJS:如何按照预定义的顺序执行函数
- 在不使用隔离作用域的情况下执行函数的角度指令
- 如何在页面加载后执行函数是在 AngularJS 中完成的
- 完成页面加载后执行函数
- 如何在完成完全执行函数后触发循环