gpt4 book ai didi

javascript - ReactJS:在后台继续计时器?

转载 作者:行者123 更新时间:2023-11-30 11:25:25 25 4
gpt4 key购买 nike

我有一个 create-react-app,它有一个 setInterval,每 1000 毫秒运行一个 tick() 函数。 tick() 函数将 sessionTime 状态减一。当浏览器选项卡位于前台但它在后台丢失计数时它工作得很好(一段时间后不计数)。我如何让它继续运行?这甚至是 React 中计时器的正确方法吗?

最佳答案

您的 time budget 可能用完了?

无论如何,更可靠的方法是不依赖于特定时间间隔;每次执行报价时检查当前的 new Date(),计算自上次报价或自某个记住的开始时间(或剩余到特定目标时间)以来经过了多少时间,并相应地采取行动。

例如,如果您希望 session 在 30 分钟后过期,

let now = new Date();
const second = 1000;
const minute = 30 * second;
let expiryTime = new Date(now.getTime() + 30 * minute);

然后在您的打勾中检查是否 new Date() > expiryTime。这样,您的滴答例程运行的频率就无关紧要了。

关于javascript - ReactJS:在后台继续计时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48219925/

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