定时器

2021-06-16 23:34:00 Javascript 小于 1 分钟

# 执行过程

image-20210615215518697

image-20210615215655579

# 存在的问题;

  1. 定时任务可能不会按时执行;

    const test = () => {
      let t = +new Date();
      white (true) {
        if (+new Date() - t >= 5000) {
          break;
        }
      }
    }
    setTimeout(() => {
      console.log(2);
    })
    test();
    
    // 5秒后才会打印 2
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

    以上代码可以看出,如果同步任务耗时很久的话,定时器并不会按我们的预期来执行;

  2. 定时器嵌套5次之后最小间隔不能低于4ms;

# 应用场景;

  1. 防抖;
  2. 节流;
  3. 倒计时;
  4. 动画;
上次编辑于: 2023年7月4日 09:36