javascript - setTimeout() 是否会自行重置?

标签 javascript

我有一阵中断进入处理程序,我不想在自上次中断后 5 毫秒后为它们提供服务,这表明中断已经结束。

我的想法是每次输入处理程序时调用 setTimeout(LookAtInterrupts, 5),但我在 setTimeout() 文档中没有看到它会如果在执行之前调用它,则取消挂起的预定调用。

事实上,这就是它的作用吗?我不想在每次处理程序中断后 5 毫秒被调用,只是最后一个。

最佳答案

不,它不会 - 您可以根据需要设置任意数量的未决超时。

该函数返回一个键,稍后您可以使用该键取消超时:

var key = setTimeout( ... );

然后稍后取消它:

clearTimeout(key);

使用已过期的 key 调用 clearTimeout() 不会出错,因此您不必担心同步问题。

关于javascript - setTimeout() 是否会自行重置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19145788/

相关文章:

javascript - 在 Excel 中下载并打开 CSV 适用于 Chrome 和 Firefox,但不适用于 IE 或 Edge

javascript - 选择不同单选按钮时如何更改段落内容

javascript - 有哪些流行的 JavaScript 快捷方式/技巧?

JavaScript- "Image not found"除非我刷新页面

javascript - 应用于不同 <ul> 和 <li> 标签的多个 Java 脚本

javascript - 使用 Javascript 将文本字段添加到 HTML 表单时出错

javascript - 将 jQuery (ajax) 与 TypeScript 结合使用

javascript - 仅为大写字母和数字添加验证

javascript - Javascript 中的高阶函数

javascript - 未处理的拒绝 SequelizeDatabaseError : column "foo_bar" of relation "bar" already exists