gpt4 book ai didi

c# - Javascript setTimeOut 函数与.net 中Windows 应用程序的计时器时间不匹配?

转载 作者:行者123 更新时间:2023-12-02 19:32:57 24 4
gpt4 key购买 nike

我正在 C#.Net 中工作一个 Windows 应用程序和一个 Web 应用程序。我在 Windows 应用程序上使用 Timer 控件,并在 Web 应用程序中使用 SetTimeOut() 函数。但是当我运行两者时,1 或 2 分钟后显示的秒数少于 Windows 应用程序时间。

使用 Java 脚本代码,例如:

function TimerDisplay(hour, min, sec, id) 
{
$("#" + id).html(hour.pad() + ":" + min.pad() + ":" + sec.pad());
if (sec >= 59) {
sec = 0;
if (min >= 59) {
min = 0;
sec = 0;
hour += 1;
}
else {
min += 1;
sec = 0;
}
}
else
sec += 1;
setTimeout(function () { TimerDisplay(hour, min, sec, id); }, 1000);
}



Number.prototype.pad = function () {
return (this < 10 ? '0' : '') + this;
}

如果有人有想法,请提出建议。

最佳答案

Javascript 的 setTimeout 不会在精确的时间运行,它会被放入队列中,在间隔到期后运行。如果CPU很忙,它可能会在间隔后运行相当多的时间。

如果您想要更准确的间隔,则需要以更频繁的间隔运行函数,并尝试在尽可能接近所需间隔的时间估计下一次调用的时间。请参阅Efficient Stopwatch .

关于c# - Javascript setTimeOut 函数与.net 中Windows 应用程序的计时器时间不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11291468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com