什么是requestIdleCallback及使用场景

什么是requestIdleCallback及使用场景,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

创新互联建站总部坐落于成都市区,致力网站建设服务有成都网站建设、做网站、网络营销策划、网页设计、网站维护、公众号搭建、微信小程序开发、软件开发等为企业提供一整套的信息化建设解决方案。创造真正意义上的网站建设,为互联网品牌在互动行销领域创造价值而不懈努力!

requestIdleCallback 维护一个队列,将在浏览器空闲时间内执行。它属于 Background Tasks API,你可以使用 setTimeout 来模拟实现

window.requestIdleCallback = window.requestIdleCallback || function(handler) {
  let startTime = Date.now();
 
  return setTimeout(function() {
    handler({
      didTimeout: false,
      timeRemaining: function() {
        return Math.max(0, 50.0 - (Date.now() - startTime));
      }
    });
  }, 1);
}
 

可以在 ric 中执行任务时需要注意以下几点:

  1. 执行重计算而非紧急任务
  2. 空闲回调执行时间应该小于 50ms,最好更少
  3. 空闲回调中不要操作 DOM,因为它本来就是利用的重拍重绘后的间隙空闲时间,重新操作 DOM 又会造成重拍重绘

React 的时间分片便是基于类似 requestIdleCallback 而实现,然而因为 ric 的兼容性及 50ms 流畅问题,React 自制了一个实现: scheduler。

关于什么是requestIdleCallback及使用场景问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


分享文章:什么是requestIdleCallback及使用场景
本文路径:http://pwwzsj.com/article/gddpih.html