ricpolyfill.js 719 B

12345678910111213141516171819202122232425262728
  1. const requestIdleCallback =
  2. (typeof self !== 'undefined' &&
  3. self.requestIdleCallback &&
  4. self.requestIdleCallback.bind(window)) ||
  5. function (cb) {
  6. const start = Date.now();
  7. return setTimeout(() => {
  8. cb({
  9. didTimeout: false,
  10. timeRemaining: function () {
  11. return Math.max(0, 50 - (Date.now() - start));
  12. },
  13. });
  14. }, 1);
  15. };
  16. const cancelIdleCallback =
  17. (typeof self !== 'undefined' &&
  18. self.cancelIdleCallback &&
  19. self.cancelIdleCallback.bind(window)) ||
  20. function (id) {
  21. return clearTimeout(id);
  22. };
  23. if (typeof window !== 'undefined') {
  24. window.requestIdleCallback = requestIdleCallback;
  25. window.cancelIdleCallback = cancelIdleCallback;
  26. }