当前位置:首页 > JavaScript

js 实现after

2026-03-14 10:51:59JavaScript

实现 after 方法

在 JavaScript 中,after 方法通常用于在指定次数后执行某个函数。以下是几种实现方式:

js 实现after

使用闭包实现

function after(times, func) {
  return function() {
    if (--times < 1) {
      return func.apply(this, arguments);
    }
  };
}

// 示例用法
const callAfter2 = after(2, function() {
  console.log('Called after 2 times');
});

callAfter2(); // 不执行
callAfter2(); // 输出: Called after 2 times

使用 ES6 类实现

class After {
  constructor(times, fn) {
    this.times = times;
    this.fn = fn;
  }

  call() {
    if (--this.times <= 0) {
      this.fn();
    }
  }
}

// 示例用法
const after = new After(3, () => console.log('Called after 3 times'));
after.call(); // 不执行
after.call(); // 不执行
after.call(); // 输出: Called after 3 times

使用 Promise 实现

function after(times) {
  let count = 0;
  return new Promise((resolve) => {
    const interval = setInterval(() => {
      count++;
      if (count >= times) {
        clearInterval(interval);
        resolve();
      }
    }, 1000);
  });
}

// 示例用法
after(3).then(() => console.log('Resolved after 3 seconds'));

使用 async/await 实现

async function after(times, callback) {
  let count = 0;
  while (count < times) {
    await new Promise(resolve => setTimeout(resolve, 1000));
    count++;
  }
  callback();
}

// 示例用法
after(2, () => console.log('Called after 2 seconds'));

这些实现方式可以根据具体需求选择使用。闭包方式适合简单的次数控制,类实现提供了更好的封装,Promise 和 async/await 适合处理异步场景。

标签: jsafter
分享给朋友:

相关文章

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含inpu…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…