账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    以下代码 clearInterval 为什么不生效?
    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 的。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部