有人告诉我,当您使用setTimeout
时,必须使用clearTimeout
清除它。我可以在超时用完之前理解,但为什么之后呢?还是不真实?
答案 0 :(得分:57)
这不是真的 - 在完成后清除超时没有坏处,但没有必要。
如果handle没有识别调用[clearTimeout]的WindowOrWorkerGlobalScope对象的活动计时器列表中的条目,则该方法不执行任何操作。
换句话说,这是一个无操作;没有任何反应,也不会抛出任何错误。
答案 1 :(得分:33)
您实际上不需要使用clearTimeout
,只有在您想要取消已经设置的超时时才使用它。
将clearInterval
与setInterval
一起使用通常更实际,因为setInterval
通常无限期运行。
答案 2 :(得分:10)
clearTimeout
仅用于取消超时。超时触发后,可以安全地单独使用。 clearInterval
通常是必要的,以防止它无限期地继续下去。
答案 3 :(得分:6)
完成后没有理由清除它。你的朋友可能会对setInterval
感到困惑。
答案 4 :(得分:6)
不,setTimeout
在1次通话后停止运行。但是,要停止setInterval
,您必须使用clearInterval
。如果您创建setTimeout
的无限循环,则可以使用clearTimeout
。