美文网首页
周期执行某个函数n次

周期执行某个函数n次

作者: percykuang | 来源:发表于2019-08-24 12:43 被阅读0次
    /**
     * 周期执行某个函数n次
     * @param {*} fn 执行的函数
     * @param {*} n  执行次数
     * @param {*} ms 执行间隔  
     * @param {*} immediate 第一次是否立即执行
     */
    function repeatFunc(fn, n, ms, immediate) {
      let count = 0;
      let context = null;
    
      function inner(...args) {
        count ++;
        if (count > n) {
          return;
        }
    
        if (count === 1 && immediate) {
          fn.call(context, ...args);
          inner.call(context, ...args);
          return;
        }
    
        setTimeout(() => {
          fn.call(context, ...args);
          inner.call(context, ...args);
        }, ms);
    
      }
      return inner;
    }
    
    

    相关文章

      网友评论

          本文标题:周期执行某个函数n次

          本文链接:https://www.haomeiwen.com/subject/donfectx.html