问题描述
今天遇到了一个vue3定时器无法清除的BUG,如下所示:
let num = 0;
let timer: any;
timer = setInterval(() => {
console.log(num++);
}, 1000);
function stopTimer() {
console.log(timer);
clearInterval(timer);
}
点击清除定时器,输出timer居然是个函数,而且clearInterval没有用:
解决方案
起初一直以为是vue3的问题,后面又写个demo页面发现没问题,发现是因为vscode代码提示导入了一个 setInterval …去掉它就没问题了
import { setInterval } from 'timers';
查看声明可以看到是node里面的模块…