1

创建一个延迟指定时间的 Promise

// 参数 interval: 延迟的时间,单位为毫秒
const delay = (interval) => new Promise(resolve => setTimeout(resolve, interval));

// 示例用法
// 延迟 2000 毫秒
delay(2000).then(() => console.log('延迟完成'));
// 延迟完成

测量传入函数的执行时间

// fn: 一个返回 Promise 的函数
const measureExecutionTime = async (fn) => {
  const start = Date.now();
  try {
    await fn();
  } finally {
    const end = Date.now();
    console.log('Execution time:', (end - start) / 1000 + '秒');
  }
};

// 测量异步操作耗时
// 测量延迟 3000 毫秒的执行时间
measureExecutionTime(async() => {
  await delay(3000);
});
// Execution time: 3.007秒

// 测量同步操作耗时
measureExecutionTime(async() => {
  const startTime = Date.now();
  while (Date.now() - startTime < 3000) {
    // 这是一个空循环,用于模拟耗时3秒的同步操作
  }
});
// Execution time: 3秒

热饭班长
3.7k 声望434 粉丝

先去做,做出一坨狗屎,再改进。