requestIdleCallback

requestIdleCallback方法插入一个函数,这个函数将在浏览器,使开发者能够在主事件循环上执行后台和低优先级工作,不会影响关键事件,如动画和输入响应。函数一般会按先进先调用的顺序执行,如果回调函数指定了执行超时时间timeout,则有可能在超时前执行函数而打乱执行顺序。如果指定了timeout,回调在timeout毫秒过后还没有被调用,那么回调任务将放入时间循环中排队,这样有可能对性能产生负面影响。

callback函数接收IdleDeadline接口类型的参数,是一个对象,包含两个属性

  • didTimeout,布尔值,表示任务是否超时
  • timeRemaining,表示当前时间片剩余的时间。

requestIndleCallback会返回一个id,传入cancelIdleCallback可结束对应的回调。

cancelIdleCallback(id)

推荐阅读更多精彩内容