Skip to content

工具相关

约 367 字大约 1 分钟

手撕前端

2025-08-30

防抖

节流

setTimeout和setInterval

setInterval

setTimeout

/**
 * 使用setInterval实现setTimeout
 * @param {*} fn 回调函数
 * @param {*} delay 延时
 */
function mySetTimeout(fn, delay) {
  let timer = setInterval(() => {
    fn();
    clearInterval(timer);
  }, delay);
}

sleep

使用promise模拟

缺点: 使用时需要借助async和await才能阻塞后面的代码休眠

借助时间戳

/**
 * 基于时间戳实现
 */
function sleep2(t) {
  const end = Date.now() + t;
  while (Date.now() < end) {
    continue;
  }
}

贡献者

PinkDopeyBug

公告

本博客内容原本使用obsidian编写,由于没有仔细配置,以至图片引用使用obsidian风格。

且图片存储路径频繁变更导致部分文章图片无法正常显示。

为您带来不便请谅解。

ps:贡献者一直都只有wynnsimon一人,显示Pink的贡献者是因为我没好好配置git。后面因为懒就没一个个修改。如果被提及的人不希望被显示可以联系我我会立即删除。