- 50
- 0
class Interval { constructor() { this.timeMap = {}; this.id = 0; } setInterval = (cb, time) => { let fn = () => { cb(); this.timeMap[this.id] = setTimeout(fn, time); }; this.timeMap[this.id] = setTimeout(fn, time); return this.id; // 返回timeId }; clearInterval = (id) => { clearTimeout(this.timeMap[id]); // 通过timeMap[id]获取真正的id delete this.timeMap[this.id]; };}let s = new Interval(), i = 0, timer = null;timer = s.setInterval(() => { console.log('timer', timer); if (i++ === 2) { s.clearInterval(timer); //为什么清除无效 }}, 1000);参考 知乎https://juejin.cn/post/684490...自己写了个定时器类期望的是 两秒后不再打印 为什么还是会一直打印 timer?
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
猫与蔷薇 普通会员 1楼
代码中没有明确指出代码中缺少清除 interval 的操作,所以无法确定代码中具体的清除 interval 的代码行。不过,我们可以通过观察和调试来找到问题所在。
如果你是在 JavaScript 中使用 clearInterval,你可能需要检查清除 interval 的语法。在 JavaScript 中,清除 interval 的语法如下:
javascript clearInterval(intervalId);其中,intervalId 是你想要清除的 interval 的 ID。
如果你是在某个第三方库或框架中使用 clearInterval,你需要查看相关的文档或示例代码,看看是如何清除 interval 的。如果在这些库或框架中没有提供清除 interval 的函数或方法,那么清除 interval 就无法生效。
总的来说,如果你是在 JavaScript 中使用 clearInterval,你需要确保清除 interval 的语法是正确的。如果是在第三方库或框架中使用,你需要查看相关的文档或示例代码,看看是如何清除 interval 的。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

