首页 > 解决方案 > 在运行时更改 setInterval() 方法中的时间段

问题描述

如何在不使用该方法(Id)的clearInterval()的情况下更改setInterval()方法中的周期(计时器)?

例如,我想让该方法具有初始固定速度并随着时间的推移减慢速度,并借助 setTimeout() 方法在十秒内完成?

如果我能得到一些例子,我将非常感激:)

标签: javascriptreactjs

解决方案


我认为间隔是错误的使用方法。您最好使用 setTimeout 并根据您想要的新等待时间调用下一个超时。

function runIt(myFunc) {

  let waitFor = 3000;

  function executeIt () {
    myFunc();
    waitFor = waitFor - 250;
    if (waitFor>=0) {
       next();
    }
  }
  
  function next() {
    window.setTimeout(executeIt, waitFor);
  }
  next();
  
}

runIt(function (){ console.log(Date.now())})


推荐阅读