mp-html icon indicating copy to clipboard operation
mp-html copied to clipboard

定时器`setInterval`未回收

Open liyujiang-gzu opened this issue 3 years ago • 2 comments

定时器是全局的,并不是跟页面绑定的,当小程序从一个页面路由到另一个页面之后,前一个页面定时器应注意手动回收 
定时器调用堆栈页面

setInterval

at Proxy.setContent (uni_modules/mp-html/components/mp-html/mp-html.js:177:21)

at Proxy.content (uni_modules/mp-html/components/mp-html/mp-html.js:66:12)

at callWithErrorHandling (common/vendor.js:2758:20)

at callWithAsyncErrorHandling (common/vendor.js:2766:17)

at Array.job (common/vendor.js:3214:9)

at flushPreFlushCbs (common/vendor.js:2901:7)

at patch (common/vendor.js:4895:7)


liyujiang-gzu avatar Jul 03 '22 06:07 liyujiang-gzu

定时器是为了确定富文本内容是否加载完毕,每 350ms 获取一次高度,和上一次无变化就会回收(参考 L341),等 ready 事件触发后再跳转页面应该就没有这个问题了
另外如果组件销毁了,定时器也会被回收(参考 L160

jin-yufeng avatar Jul 09 '22 08:07 jin-yufeng

等 ready 事件触发后再跳转页面

谢谢回复

liyujiang-gzu avatar Jul 11 '22 18:07 liyujiang-gzu