我如何创建自动调整计时器?我真的很厌倦数学,我需要你的帮助。
我的基线是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秒。
答案 0 :(得分:0)
如果我正确理解了这个问题,你只需要计算maxInterval的百分比,如下所示:
interval = (1 - newRatio) * (maxInterval - minInterval) + minInterval;