风雪o 2022-10-28 18:24 采纳率: 60%
浏览 28

自定义clearInterval

下面是我用clearTimeout实现的一个clearInterval效果,
如何不用clearTimeout()、clearInterval()实现一个自定义的clearInterval()呢?
@小蓝阿姨 @Z_ One Dream

//myclearInterval
function myInterval(func, time) {
  let ids = [];
  function fn() {
    let id = setTimeout(() => {
      func();

      fn();
    }, time)
    //console.log(id);
    ids.push(id);
  }
  fn();
  return ids;
}
function clearMyInterval(idList) {
  idList.forEach((id) => {
    clearTimeout(id);
    //clearInterval(id)
  })
}
function myclearInterval(id) {
  setTimeout(() => {
    clearMyInterval(id)
  }, 0)
}
//-----------------------------------------
var num=0;
let id = myInterval(() => {
  //document.write('Hello World');
  num++;
   if(num===5) myclearInterval(id)
  //console.log(num);
  //   clearMyInterval(id)
  console.log(num);
}, 1000)
  • 写回答

4条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-28 20:20
    关注
    评论

报告相同问题?

问题事件

  • 修改了问题 10月28日
  • 创建了问题 10月28日

悬赏问题

  • ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写
  • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播