[英]Unexpected token ILLEGAL when using setTimeout/Cleartimeout
[英]When using setTimeout do you have to clearTimeout?
有人告诉我,当你使用setTimeout
,必须用clearTimeout
清除它。 我可以在超时用完之前理解,但为什么之后呢? 还是不真实?
这不是真的 - 在完成后清除超时没有坏处,但没有必要。
根据规格 :
如果handle未识别调用[clearTimeout]的WindowOrWorkerGlobalScope对象的活动计时器列表中的条目,则该方法不执行任何操作。
换句话说,这是一个无操作; 没有任何反应,也不会抛出任何错误。
您实际上不需要使用clearTimeout
,只有在希望取消已经设置的超时之前才使用它。
将clearInterval
与setInterval
一起使用通常更实际,因为setInterval
通常无限期地运行。
clearTimeout
仅用于取消超时。 超时触发后,可以安全地单独使用。 clearInterval
通常是必要的,以防止它无限期地继续。
完成后没有理由清除它。 你的朋友可能与setInterval
混淆了。
不, setTimeout
在1次调用后停止运行。 但是,要停止setInterval
,必须使用clearInterval
。 如果你创建一个无限循环的setTimeout
那么可以使用clearTimeout
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.