为了账号安全,请及时绑定邮箱和手机立即绑定

每五秒调用请求动画帧

每五秒调用请求动画帧

慕桂英3389331 2023-11-12 14:48:10
如果我需要不断获取一些新数据,我知道最好的解决方案是 websockets。这样服务器会在有新数据时通知客户端。但为了避免这种情况发生,我需要每五秒调用一次 http 请求。我在这里使用计数器只是为了模拟而不是调用一些 http 服务。let counter = 0;setInterval(() => {  console.log(counter);  ++counter;},5000)我读到更好的解决方案是 requestAnimationFrame 而不是 setInterval。浏览器对它进行了更优化,并且当选项卡不活动时它会暂停。设置间隔继续触发,并且当选项卡不活动时,这不好。我如何每五秒调用 requestAnimationFrame 中的某个函数?
查看完整描述

1 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

要实际上每 5 秒调用一次,您仍然需要(至少)setTimeout. 但有了这个,下面的一些事情就会起作用:


requestAnimationFrame(function run() {

    console.log('do something w/o initial delay');


    setTimeout(function () {

        console.log('do something w/ initial delay');


        requestAnimationFrame(run);

    }, 5000);

});


查看完整回答
反对 回复 2023-11-12
  • 1 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信