javascript - setTimeout间隔衰减和恢复

时间:2014-10-14 04:09:55

标签: javascript settimeout

我如何创建自动调整计时器?我真的很厌倦数学,我需要你的帮助。

我的基线是2秒

 var minInterval = 2000;
 var maxInterval = 60000;
 var interval = minInterval;

 setTimeout(function findResultsInterval()
 {
    var results = getResults();
    var totalAmt = results.total;
    var newAmt = findNew(results);
    var newRatio = newAmt / totalAmt;

    //magic to adjust timer between minInterval and maxInterval
    //considering the amount of new items with these rules:
    // 100% new items sets the interval = 2000
    // 0% new items - 60000
    interval = ???;

    setTimeout(findResultsInterval, interval);

 }, interval);

我很乐意,如果它可以放慢速度并加速,而不是直接从2秒到60秒。

1 个答案:

答案 0 :(得分:0)

如果我正确理解了这个问题,你只需要计算maxInterval的百分比,如下所示:

interval = (1 - newRatio) * (maxInterval - minInterval) + minInterval;