setInterval/setTimeout/setImmediate 需要手动调用 clearInterval/clearTimeout/clearImmediate 清理的吗?
发布于 10 年前 作者 gvforjob 6109 次浏览 最后一次编辑是 8 年前 来自 问答

如题,有点困惑……

6 回复

定时器,肯定是要有开始的触发,和结束的触发嘛

@zhaomaoxin 这么说不手动调用的话,那个对象就永远无法回收了?

定时的时间到了就自己出发了, 循环的要自己clear,或者程序crush

setInterval 会有泄漏风险,setTimeout 可以认为不会。具体场景具体讨论啦。 内存泄漏的问题一不小心就会有。 要了解一下 gc 的原理

@alsotang 我上次就是这样oom的,回调堆积。

@gvforjob 结束的触发就是指人为的结束,或者是所设置的结束条件

回到顶部