关于setInteval定时器在不同浏览器下表现差异

背景:

项目下用到websocket, 中间使用了setInterval 定时向服务端发送心跳包, 5s/次, 观察正常, 就将浏览器最小化后, 经过了两天, 周一过来查看, 咋才 5000次;

问题分析:

遇到这种简单的问题当然是请教一下GPT 来的最快最实际, 不出所料, 马上得到证实;

chrome 88 版本之后就加入了这个功能, 当标签页处于非活动状态时, 定时器的循环时间会被节流, 设置为 1分钟每次;

https://developer.chrome.com/blog/timer-throttling-in-chrome-88/

解决办法:

在启动命令后增加 --disable-background-timer-throttling 参数

例如: chrome.exe --disable-background-timer-throttling

相关推荐
让学习成为一种生活方式6 小时前
pbtk v 3.5.0安装与使用--生信工具084
前端·chrome
heimeiyingwang6 小时前
【架构实战】FinOps云成本优化实践
前端·chrome·架构
hhb_6187 小时前
C Shell 基础语法与高阶运维实战指南
运维·c语言·chrome
Lumos_7771 天前
Linux -- exec 进程替换
linux·运维·chrome
NEKGod3 天前
Linux 文件篡改审计(auditctl 实战指南)
linux·运维·chrome
Waoooo19993 天前
谷歌云配置嵌套虚拟化
前端·chrome
hresh3 天前
两个 Chrome 窗口各 20 多个 tab 后,我把 tab-out 改成了更顺手的 TabNest
前端·chrome·后端
sghuter3 天前
Chrome如何重塑Web标准未来
前端·chrome
REDcker3 天前
Linux disown命令详解 后台作业脱管与终端退出
linux·运维·chrome
牛奶3 天前
浏览器藏了这么多神器,你居然不知道?
前端·chrome·api